首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gstreamer从dvblast流式传输到HLS

使用gstreamer从dvblast流式传输到HLS
EN

Stack Overflow用户
提问于 2015-07-25 22:11:52
回答 1查看 1.3K关注 0票数 3

我有一个dvblast,它成功地将一个源自DVB-T的MPEG2流多播到一个网络上,我正在尝试提取这个多播MPEG2流,并使用gstreamer v1.0在Raspberry Pi 2上将其转换为HLS,如下所示:

代码语言:javascript
复制
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:

代码语言:javascript
复制
Processed 7 out of 7 segments:  OK

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

MPEG2许可证已经准备就绪并且可以正常工作。

Safari和iPhone都不能观看这个流,在这两种情况下都会出现播放按钮,但没有视频或音频付费。最终,Safari会声称“缺少插件”。我正在努力找出我哪里错了,并且正在努力寻找关于这个特定场景的任何文档或示例。谁能指出这条管道中哪里出了问题?

EN

回答 1

Stack Overflow用户

发布于 2015-08-15 04:50:08

发现当前的gstreamer gst-omx代码不能处理包括AU分隔符,并且需要以下补丁来使omxh264enc生成Safari和/或iOS将播放的流:

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

使用2015年6月9日版本的mediastreamvalidator显示了以下问题,但流现在可以在Safari和iOS上播放:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31627327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档