我正在设计一个流程来播放一个icecast服务器(radio.clarkson.edu)。最终它将用Python3编写,但是现在我使用gst-launch来测试管道。我一直在使用Debian Jessie并使用gstreamer-1.0。使用维基媒体上的文件,我可以非常轻松地使用:
url=https://upload.wikimedia.org/wikipedia/commons/0/0c/Muriel-Nguyen-Xuan-Korsakov-Flight-of-the-bumblebee.flac.oga
gst-launch-1.0 -v souphttpsrc location =$url ! decodebin ! audioconvert ! audioresample ! alsasink
使用我的流运行相同的命令,我得到输出:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = text/uri-list
Missing element: text/uri-list decoder
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
gstdecodebin2.c(3977): gst_decode_bin_expose (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0:
no suitable plugins found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = "NULL"
Freeing pipeline ...
我已尝试过太多其他管道来发布一个帖子,但我可以回答任何其他问题。
谢谢
答案 0 :(得分:0)
到目前为止,您可能已经解决了这个问题,但仍然有一个想法:text/uri-list
表示您没有将实际流传递给gstreamer
,而是包含流的(文本)播放列表地址。我猜gstreamer
无法处理这些,因此您需要事先解析它们,然后将实际的音频流地址传递给它。