gpt4 book ai didi

ios - 如何让 HLS 从头开始

转载 作者:行者123 更新时间:2023-12-04 23:03:18 25 4
gpt4 key购买 nike

我需要一些有关 HLS 流媒体的帮助,我正在尝试创建流媒体播放列表,

我正在使用 ffmpeg 生成文件和 .m3u8 文件。为了播放,我正在使用带有 videojs 播放器的网页

这个想法是使用已经创建的文件来模拟直播。

问题是在某些版本的 iphone 中可以使用,而在另一个版本中则不能使用。问题是,当我开始在手机的 Safari 浏览器中播放视频时,它会卡住一段时间,然后下载并播放最后一段。

例如,如果视频分为 4 个不同的 .ts 文件。它从第 4 个 .ts 文件开始播放,然后停止。

问题是我有2部iphone手机,其中一部可以正常使用,但另一部不行

不能用的手机是iphone 6(版本9.2.1)

这是我的 m3u8 文件。请注意,我使用的是#EXT-X-PLAYLIST-TYPE:EVENT,我从按钮中删除了#EXT-X-ENDLIST。所以它应该作为直播播放。

它适用于其他手机,它从我设置#EXT-X-START:TIME-OFFSET=0 的 0 秒开始

但在此版本 (9.2.1) 中,视频会卡住,然后跳到最后一段 (webinar-3.ts) 播放该段并最终停止。

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:NO
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-START:TIME-OFFSET=0
#EXT-X-TARGETDURATION:6
#EXTINF:5.046444,
webinar-0.ts
#EXTINF:5,
webinar-1.ts
#EXTINF:5,
webinar-2.ts
#EXTINF:5,
webinar-3.ts

有人知道我做错了什么或如何获得适用于此 iphone 版本的 m3u8 配置吗?

最佳答案

来自 section 6.3.3 HLS 规范:

If the EXT-X-ENDLIST tag is notpresent and the client intends to play the media normally, the clientSHOULD NOT choose a segment which starts less than three targetdurations from the end of the Playlist file.

在您的情况下,这意味着播放器将从 webinar-3.ts 开始播放。由于播放列表中没有更多片段,因此视频将停止。换句话说,您看到的行为是正确的。

EXT-X-START 标签,它允许您 specify the starting point of a video , 在协议(protocol)的第 6 版(而非第 4 版)中引入,因此您应该相应地更改播放列表中 EXT-X-VERSION 标签的值。

如果您想从视频的开头开始播放(并且事件尚未直播)为什么不创建一个 VOD 播放列表?将所有片段添加到播放列表,删除 EXT-X-PLAYLIST-TYPE 标签(或将其设置为 VOD),然后将 EXT-X-ENDLIST 标签添加到播放列表的末尾。

关于ios - 如何让 HLS 从头开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383704/

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