2015-07-25 1 views
3

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

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 заявит «Отсутствует плагин». Я изо всех сил пытаюсь понять, где я ошибся, и изо всех сил пытаюсь найти какую-либо документацию или примеры по этому конкретному сценарию. Может ли кто-нибудь указать, в каком направлении это произошло?

+0

ли работу в плеер, как VLC? – aergistal

+0

Вы решили свою проблему ?! –

ответ

1

обнаружил, что текущий GStreamer GST-ОЭМЭКС код не обрабатывает включают AU разделители, и следующий патч требуется, чтобы omxh264enc генерировать поток, Safari и/или IOS будет играть:

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

Используя версию mediastreamvalidator 9 июня 2015 показывает следующие вопросы, но поток делает сейчас играть на сафари и прошивке:

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