Ale*_*dar 5 video ffmpeg stream video-streaming m3u8
我想创建 m3u8 播放列表,如下所示:
#EXTINF:-1,LIVE STREAM
http://example.com/live01.ts
Run Code Online (Sandbox Code Playgroud)
当这个文件结束时,我想循环重复。live01.ts 结束后,需要重新开始并在循环中执行此无穷大。
这可能吗?
像这样的静态播放列表是不可能的。
首先,您必须在#EXT-X-DISCONTINUITY
标签之前有一个标签,#EXTINF
以便播放器知道视频/音频帧上的时间戳不会按顺序继续。
其次,更重要的是,您需要一个#EXT-X-MEDIA-SEQUENCE:<number>
和/或#EXT-X-DISCONTINUITY-SEQUENCE:<number>
在文件的头部以与该视频块的持续时间相同的速率递增。播放器将重新请求播放列表(直到它看到#EXT-X-ENDLIST
)并且不增加这些值,它将继续假定这http://example.com/live01.ts
是序列中的第一个块。
如果您直接提供 M3U8 文件,并且您的系统上有一个支持毫秒的 sleep 命令,我建议您这样做:
file="/path/to/file.m3u8"
duration="1.337"
make_playlist() {
echo "#EXTM3U"
echo "#EXT-X-MEDIA-SEQUENCE:${1}"
echo "#EXT-X-DISCONTINUITY-SEQUENCE:${1}"
echo "#EXT-X-DISCONTINUITY"
echo "#EXTINF:${duration},"
echo "http://example.com/live01.ts"
echo
}
for ((x=0;;x++)); do
make_playlist "${x}" > "${file}"
sleep "${duration}"
done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19425 次 |
最近记录: |