Стриминг с dvblast на HLS через gstreamer

У меня есть dvblast, который успешно транслирует поток MPEG2, исходящий из DVB-T, в сеть, и я пытаюсь подобрать этот многоадресный поток MPEG2 и преобразовать его в HLS на Raspberry Pi 2 с помощью gstreamer v1.0 следующим образом:

gst-launch-1.0 udpsrc port=5004 multicast-group=239.255.1.30 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! rtpbin ! rtpmp2tdepay ! tsdemux ! mpegvideoparse ! omxmpeg2videodec ! queue ! videoconvert ! omxh264enc ! mpegtsmux ! hlssink max-files=5 location=/var/www/stream/segment%05d.ts playlist-location=/var/www/stream/output.m3u8 playlist-root=http://192.168.225.2/stream/

Файлы HLS успешно созданы и успешно доставлены через httpd в mediastreamvalidator, который доволен результатами:

Processed 7 out of 7 segments:  OK

Segment bitrate: Average: 430.90 kbits/sec, Max: 741.38 kbits/sec

Лицензия MPEG2 установлена ​​и работает.

Ни Safari, ни iPhone не могут просматривать этот поток, в обоих случаях появляется кнопка воспроизведения, но ни видео, ни аудио не оплачиваются. В конце концов Safari сообщит об «отсутствующем плагине». Я изо всех сил пытаюсь понять, где я ошибся, и пытаюсь найти какую-либо документацию или примеры по этому конкретному сценарию. Может ли кто-нибудь указать, где в конвейере это пошло не так?


person Graham Leggett    schedule 25.07.2015    source источник
comment
Работает ли это в таких плеерах, как VLC?   -  person aergistal    schedule 28.07.2015
comment
Вы решили свою проблему?!   -  person Dr.jacky    schedule 04.08.2015


Ответы (1)


Обнаружено, что текущий код gstreamer gst-omx не обрабатывает включение разделителей AU, и требуется следующий патч, чтобы заставить omxh264enc генерировать поток, который будет воспроизводиться Safari и/или iOS:

https://bugzilla.gnome.org/show_bug.cgi?id=736211

Использование версии mediastreamvalidator от 9 июня 2015 г. выявило следующие проблемы, но поток теперь воспроизводится в Safari и iOS:

WARNING: Video segment does not contain an IDR frame
--> Track ID 1

ERROR: (-12642) Playlist vs segment duration mismatch
--> Segment duration 4.7600, Playlist duration: 2.4000
person Graham Leggett    schedule 14.08.2015