2012-05-10 63 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的東西...