Совместимость VLC RTSP с GStreamer

Я работаю над потоковым проектом.

У меня VLC работает как сервер, транслирующий поток MP4 (h264 / aac) RTSP на сервер Flumotion (который основан на Gstreamer).

Я думаю, что это либо проблема совместимости между VLC (который основан на Live555) и Flumotion (который основан на GStreamer), либо неправильно написан конвейер, используемый для получения потока RTSP.

Вот конвейер, используемый flumotion, который необходимо исправить (строки 44-49 rtsp.py):

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:video@ %s ! @feeder:audio@"
        % (location, scaling_template, framerate[0],
           framerate[1], audio_template))

Изменить: проблема в том, что компонент RTSP-Producer в flumotion не может получать какие-либо данные из потока VLC. никаких ошибок, ничего, он просто остается в состоянии «бодрствования».

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

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

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


person Speed Of Light    schedule 10.05.2012    source источник
comment
В чем твоя проблема? Какие сообщения об ошибках вы получаете?   -  person DerMike    schedule 10.05.2012
comment
Можете ли вы воспроизвести поток с помощью gstreamer: gst-launch playbin2 uri = ...?   -  person ensonic    schedule 11.05.2012
comment
Да, я могу! даже эта команда, кажется, получает данные (ошибок в журнале нет), но не воспроизводит их: gst-launch -v rtspsrc name = src location = rtsp: //127.0.0.1: 8554 / live! decodebin name = d! очередь ! ffmpegcolorspace! видео / x-raw-yuv! видеорейт! видео / x-raw-yuv, частота кадров = 5/1! автосигнал   -  person Speed Of Light    schedule 13.05.2012


Ответы (1)


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

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:video@ %s ! @feeder:audio@"
        % (location, scaling_template, framerate[0],
           framerate[1], audio_template))

Теперь это работает! (в большинстве случаев) и это, вероятно, что-то с потоком или QoS ...

person Speed Of Light    schedule 19.05.2012