我有 dvblast,它成功地将源自 DVB-T 的 MPEG2 流多播到网络上,我正在尝试获取这个多播 MPEG2 流并使用 gstreamer v1.0 在 Raspberry Pi 2 上将其转换为 HLS,如下所示:
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 会声称“缺少插件”。我正在努力寻找我哪里出错了,并且正在努力寻找关于这个特定场景的任何文档或示例。谁能指出管道中哪里出了问题?