2012-05-10 2 views
1

Я работаю над потоковым проектом.Совместимость VLC RTSP с GStreamer

У меня есть VLC, работающий как сервер, потоковая передача потока RTSP 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)) 

Edit: Проблема заключается в том, что компонент RTSP-Producer в flumotion не может Recive любой данные из потока VLC. нет ошибок, ничего, он просто продолжает «бодрствование».

Я пробовал некоторые варианты трубопровода GStreamer, используемые flumotion, но не мог заставить его работать.

я нашел много подобных нерешенных вопросов в StackOverflow, которые заставили меня думать, что это проблема совместимости

Я не GST-трубопроводчик! так что, пожалуйста, помогите мне в этой борьбе.

+0

В чем проблема? Какие сообщения об ошибках вы получаете? – DerMike

+0

Извините, я добавил некоторые подробности. –

+0

Можете ли вы играть в поток с gstreamer: gst-launch playbin2 uri = ...? – ensonic

ответ

0

Хорошо, теперь, так как эта команда работает (обычно):

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

Я решил, что не может быть проблема совместимости! и проблема была решена с помощью «rtspdecodebin» вместо «rtspsrc» и «» decodebin

Итак, наконец я изменил, что в 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 ...

Смежные вопросы