2012-05-10 62 views
1

我正在开发一个流式项目。VLC RTSP与GStreamer的兼容性

我已经将VLC作为服务器运行,将mp4(h264/aac)流式传输到Flumotion服务器(基于gstreamer)。

我认为这是VLC(基于Live555)和Flumotion(基于GStreaemer)之间的兼容性问题,或者是用于接收RTSP流的流水线未被写入。

这里是由flumotion使用的管道,需要固定的(rtsp.py线44-49):

return ("rtspsrc name=src location=%s ! decodebin name=d ! queue " 
     " ! %s ffmpegcolorspace ! video/x-raw-yuv " 
     " ! videorate ! video/x-raw-yuv,framerate=%d/%d ! " 
     " @feeder:[email protected] %s ! @feeder:[email protected]" 
     % (location, scaling_template, framerate[0], 
      framerate[1], audio_template)) 

编辑: 的问题是,在flumotion RTSP的生产者组件不能recive任何来自VLC流的数据。没有错误,没有什么,它只是保持'醒来'的状态。

我尝试了一些使用fltotion的GStreamer管道的变体,但无法使其工作。

我发现在StackOverflow上很多类似的未解问题,这使我觉得这是一个兼容性问题

我不是GST-流水线化!所以请帮助我摆脱这场斗争。

+0

你的问题是什么?你得到什么错误信息? – DerMike

+0

对不起,我添加了一些细节。 –

+0

你可以用gstreamer播放流:gst-launch playbin2 uri = ...? – ensonic

回答

0

现在没事了, 因为这个命令是工作(通常情况下):

gst-launch playbin uri="rtsp://127.0.0.1:8554/live" 

我决定,不能有兼容性问题! ,问题就用,而不是“rtspsrc”和“decodebin”

“rtspdecodebin”解决了所以最后我修改,在rtsp.py ::

return ("uridecodebin name=d uri=%s ! queue " 
     " ! %s ffmpegcolorspace ! video/x-raw-yuv " 
     " ! videorate ! video/x-raw-yuv,framerate=%d/%d ! " 
     " @feeder:[email protected] %s ! @feeder:[email protected]" 
     % (location, scaling_template, framerate[0], 
      framerate[1], audio_template)) 

现在,它的作品! (大多数时间),它可能是与流或QoS的东西...