如何解决使用GSTTS M3U8生成的hls无法在野生动物园中播放但适用于Chrome
我正在尝试使用gst从现有管道中的帧生成hls视频。一旦我将帧作为一个numpy数组,就使用以下代码创建ts和m3u8文件:
appsrc emit-signals=True do-timestamp=true is-live=True
caps={DEFAULT_CAPS}".format(**locals()) !
"queue" !
"videoconvert" !
"x264enc" !
"mpegtsmux" !
f"hlssink location={playlist}.%04d.ts " !
f"playlist-location={playlist}.m3u8"])
where default caps = "video/x-raw,format={VIDEO_FORMAT},width={WIDTH},height={HEIGHT},framerate={FPS_STR}".format(**locals())
这是m3u8文件的示例:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:15
#EXTINF:15.000000953674316,20201014_103647.0000.ts
#EXTINF:15.000000953674316,20201014_103647.0001.ts
#EXTINF:15.000000953674316,20201014_103647.0002.ts
#EXTINF:7.8000001907348633,20201014_103647.0003.ts
#EXT-X-ENDLIST
在我的ubuntu视频播放器上和chrome上都可以正常播放,但在Safari和Firefox上却不能播放。我试过稍微改变一下管道,但是没有任何效果,也不知道到底是什么问题。 有人知道吗?
按照评论中的建议,我尝试更改配置文件,但没有进行任何更改。 我还发现它添加了无声音频可以解决该问题,因为浏览器可能期望这样做。
编辑
所以组合音频+配置文件使它可以工作,但是由于我正在使用appsrc获取帧,所以我不知道视频将持续多久,因此如何在没有该信息的情况下生成音频? 谢谢
解决方法
为了使其正常工作,我将配置文件设置为较高,并在视频上添加了音频。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。