Hi.
Having troubles with playing a particular radio stream in Clementine, and getting the reply for one of the maintainers there that "It's working for me with gstreamer 1.18.2" whereas I have "1.14.4-1", I built from source the latest version, GStreamer 1.19.0 and tried the following: ``` [gst-master] buster@debian:~/gst-build/build$ gst-launch-1.0 --version gst-launch-1.0 version 1.19.0 GStreamer 1.19.0 (GIT) Unknown package origin [gst-master] buster@debian:~/gst-build/build$ ``` ``` [gst-master] buster@debian:~/gst-build/build$ GST_DEBUG=*:3 gst-launch-1.0 -v playbin uri= http://serpent0.duckdns.org:8088/kbsfm.pls Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: force-sw-decoders = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = http://serpent0.duckdns.org:8088/kbsfm.pls /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstSoupHTTPSrc\)\ source" 0:00:00.038604197 25480 0x55922d154070 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'SoupSession' Got context from element 'source': gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false; /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = text/plain /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: force-caps = text/plain /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: sink-caps = text/plain /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: bitrate = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: bitrate = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0.GstPad:sink: caps = text/plain /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: bitrate = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: bitrate = 0 Setting pipeline to PLAYING ... /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0.GstPad:src: caps = text/plain /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: bitrate = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = text/plain /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = text/plain 0:00:00.230288908 25480 0x7f610c413770 WARN decodebin gstdecodebin2.c:2890:type_found:<decodebin0> error: This appears to be a text file 0:00:00.230350827 25480 0x7f610c413770 WARN decodebin gstdecodebin2.c:2890:type_found:<decodebin0> error: decodebin cannot decode plain text files ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: This appears to be a text file Additional debug info: ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c(2890): type_found (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: decodebin cannot decode plain text files 0:00:00.230483403 25480 0x7f610c413770 WARN queue2 gstqueue2.c:3242:gst_queue2_loop:<queue2-0> error: Internal data stream error. 0:00:00.230531074 25480 0x7f610c413770 WARN queue2 gstqueue2.c:3242:gst_queue2_loop:<queue2-0> error: streaming stopped, reason not-linked (-1) Execution ended after 0:00:00.000350034 Setting pipeline to NULL ... ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: Internal data stream error. Additional debug info: ../subprojects/gstreamer/plugins/elements/gstqueue2.c(3242): gst_queue2_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: streaming stopped, reason not-linked (-1) Freeing pipeline ... [gst-master] buster@debian:~/gst-build/build$ ``` -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mardi 20 avril 2021 à 07:45 -0500, diracsbracket via gstreamer-devel a
écrit : > Hi. > Having troubles with playing a particular radio stream in Clementine, and > getting the reply for one of the maintainers there that "It's working for me > with gstreamer 1.18.2" whereas I have "1.14.4-1", I built from source the > latest version, GStreamer 1.19.0 and tried the following: GStreamer does not natively handle PLS. Though applications like Totem (Gnome Video), do have various playlist parsers and can use GStreamer to play the content. > > ``` > [gst-master] buster@debian:~/gst-build/build$ gst-launch-1.0 --version > gst-launch-1.0 version 1.19.0 > GStreamer 1.19.0 (GIT) > Unknown package origin > [gst-master] buster@debian:~/gst-build/build$ > > ``` > > ``` > [gst-master] buster@debian:~/gst-build/build$ GST_DEBUG=*:3 gst-launch-1.0 > -v playbin uri= http://serpent0.duckdns.org:8088/kbsfm.pls Just tried this one in Totem, and it fails with "open: File name too long". From what I understood it is using GVFS to access the files over HTTP, and this seems like a limitation of it. Would have been nicer to use souphttpsrc for that, but this is application design choice. The playlist is the following: [playlist] File1=https://1fm.gscdn.kbs.co.kr/1fm_192_1.m3u8?Expires=1619111851&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly8xZm0uZ3NjZG4ua2JzLmNvLmtyLzFmbV8xOTJfMS5tM3U4IiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjE5MTExODUxfX19XX0_&Signature=mnNon5XupF~K1FJ2mdzn-k~ffjgnM4zlTxLI19pfnGuHbfBtjjw2ojGZdn862qkHfAFhnM85hqAM6CryIsi2HC8nrduJrlaCJHC0TGwcv2N9kQaHRdYfJCw12O0r9ChkE48ldqgxkg7cYqPfIdvlAbxoAv1yL-ogVER6o4OdGtbBS5LCiaLZ0b6svpA6FbtKuLHhCAJnupkNyrf97cbgHMnwXTNVeKs5u3uiSvNMAW3LLgKVfuOIzbwvJxKkNlKbXg05YKkRaSJgHzCPk9ucM1Ka6XSOpPmxkqcHKCV~mWJC199qKzcAivbNKqUlXfBCzQYIaNfwTLoHtGT7KoBqUg__&Key-Pair-Id=APKAICDSGT3Y7IXGJ3TA Title1=KBS Classic FM Length1=-1 So it points to an .m3u8 playlist, this one is special playlist, it's an adaptive HLS stream, which GStreamer handles natively. You can test with: gst-play-1.0 "https://1fm.gscdn.kbs.co.kr/1fm_192_1.m3u8?Expires=1619111851&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly8xZm0uZ3NjZG4ua2JzLmNvLmtyLzFmbV8xOTJfMS5tM3U4IiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjE5MTExODUxfX19XX0_&Signature=mnNon5XupF~K1FJ2mdzn-k~ffjgnM4zlTxLI19pfnGuHbfBtjjw2ojGZdn862qkHfAFhnM85hqAM6CryIsi2HC8nrduJrlaCJHC0TGwcv2N9kQaHRdYfJCw12O0r9ChkE48ldqgxkg7cYqPfIdvlAbxoAv1yL-ogVER6o4OdGtbBS5LCiaLZ0b6svpA6FbtKuLHhCAJnupkNyrf97cbgHMnwXTNVeKs5u3uiSvNMAW3LLgKVfuOIzbwvJxKkNlKbXg05YKkRaSJgHzCPk9ucM1Ka6XSOpPmxkqcHKCV~mWJC199qKzcAivbNKqUlXfBCzQYIaNfwTLoHtGT7KoBqUg__&Key-Pair-Id=APKAICDSGT3Y7IXGJ3TA" > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: force-sw-decoders = > false > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = > http://serpent0.duckdns.org:8088/kbsfm.pls > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = > "\(GstSoupHTTPSrc\)\ source" > 0:00:00.038604197 25480 0x55922d154070 WARN structure > gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform > to serialize field 'session' of type 'SoupSession' > Got context from element 'source': gst.soup.session=context, > session=(SoupSession)NULL, force=(boolean)false; > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: > caps = text/plain > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: > force-caps = text/plain > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: > sink-caps = text/plain > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > bitrate = 0 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > bitrate = 0 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0.GstPad:sink: > caps = text/plain > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > bitrate = 0 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > bitrate = 0 > Setting pipeline to PLAYING ... > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0.GstPad:src: > caps = text/plain > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > bitrate = 0 > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: > caps = text/plain > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: > caps = text/plain > 0:00:00.230288908 25480 0x7f610c413770 WARN decodebin > gstdecodebin2.c:2890:type_found:<decodebin0> error: This appears to be a > text file > 0:00:00.230350827 25480 0x7f610c413770 WARN decodebin > gstdecodebin2.c:2890:type_found:<decodebin0> error: decodebin cannot decode > plain text files > ERROR: from element > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: > This appears to be a text file > Additional debug info: > ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c(2890): > type_found (): > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: > decodebin cannot decode plain text files > 0:00:00.230483403 25480 0x7f610c413770 WARN queue2 > gstqueue2.c:3242:gst_queue2_loop:<queue2-0> error: Internal data stream > error. > 0:00:00.230531074 25480 0x7f610c413770 WARN queue2 > gstqueue2.c:3242:gst_queue2_loop:<queue2-0> error: streaming stopped, reason > not-linked (-1) > Execution ended after 0:00:00.000350034 > Setting pipeline to NULL ... > ERROR: from element > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > Internal data stream error. > Additional debug info: > ../subprojects/gstreamer/plugins/elements/gstqueue2.c(3242): gst_queue2_loop > (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: > streaming stopped, reason not-linked (-1) > Freeing pipeline ... > [gst-master] buster@debian:~/gst-build/build$ > > ``` > > > > > -- > Sent from: http://gstreamer-devel.966125.n4.nabble.com/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |