gpt4 book ai didi

video - 如何在m3u8播放列表中循环播放TS文件

转载 作者:行者123 更新时间:2023-11-28 21:41:12 40 4
gpt4 key购买 nike

我想创建 m3u8 播放列表,如下所示:

#EXTINF:-1,LIVE STREAM
http://example.com/live01.ts

当这个文件结束时,我想在循环中重复。live01.ts结束后,需要重新开始,无限循环。

这可能吗?

最佳答案

像这样的静态播放列表是不可能的。

首先,您必须有一个 #EXT-X-DISCONTINUITY #EXTINF 之前的标签标记,以便播放器知道视频/音频帧上的时间戳不会按顺序继续。

其次,更重要的是,您需要一个 #EXT-X-MEDIA-SEQUENCE:<number>和/或 #EXT-X-DISCONTINUITY-SEQUENCE:<number>在文件的头部,以与该视频 block 的持续时间相同的速率递增。播放器将重新请求播放列表(直到它看到 #EXT-X-ENDLIST )并且在不增加这些值的情况下它将继续假设 http://example.com/live01.ts 。是序列中的第一个 block 。

如果您直接提供 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

关于video - 如何在m3u8播放列表中循环播放TS文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34991409/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com