我能够使用gstreamer成功生成hsl流,并使用以下代码:
gst-launch-1.0 -v \
videotestsrc is-live=true \
! omxh264enc target-bitrate=2000000 control-rate=variable \
! "video/x-h264,profile=high,width=600,height=300" \
! mpegtsmux \
! hlssink \
playlist-root=http://192.168.0.51:9000/hlssink/ \
location=/home/attila/frontend/hlssink/hlssink.%05d.ts \
max-files=5 \
target-duration=10 \
playlist-location=/home/attila/frontend/playlist.m3u8
它工作得很好,但是有一个缺陷,即根据hlssink的属性行生成的文件:
location=/home/attila/frontend/hlssink/hlssink.%05d.ts
没有循环。因此,客户端应始终重新加载播放列表。如何使gstreamer循环遍历文件名?
hlssink
需要max-files=0
并playlist-length=0
保留所有基本流.ts块并遍历(或循环)所有文件。
max-files:要保留在磁盘上的最大文件数。一旦达到最大值,旧文件将开始删除,以便为新文件腾出空间。0保留所有内容。默认值10。
playlist-length:HLS播放列表的长度。为了使播放器符合HLS规范的6.3.3节,该值至少应为3。如果设置为0,则播放列表将是无限的。默认值5。
hlssink
此处的完整参考:https : //gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/gst-plugins-bad-plugins-hlssink.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句