- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一些有关 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/
我是一名优秀的程序员,十分优秀!