似乎您想要进行低延迟 HLS,因此您将片段设置为 600ms,这可能会导致问题。
我测试了这个播放器,它不是从第一段开始播放,而是从第三段开始播放livestream-22.ts
在播放列表中,所以我认为这不是播放器的问题。
在配置中,我注意到hls_fragment
非常小:
hls_fragment 600ms;
hls_playlist_length 5s;
我想你可能想做低延迟直播,但你也应该将编码器的gop设置为1s,例如设置Keyframe interval
对于OBS:
请注意,OBS仅支持1s+ gop,因此hls片段也应设置为1000ms+。我认为问题应该是由这种不匹配引起的。所以请将配置更改为如下并测试它是否有效:
hls_fragment 1000ms;
hls_playlist_length 5s;
请告诉我live.m3u8
如果仍未找到该段,则显示内容。
顺便说一句,你想做低延迟直播吗?请注意,您不仅可以在服务器上设置 ts 片段(hls_fragment)的持续时间,还应该设置Keyframe interval
或 OBS 的 gop。
如果您使用自己的服务器进行直播,您可以使用HTTP-FLV 或 HTTP-TS https://stackoverflow.com/a/70358918/17679565,效果也很好,类似于 HLS。
当通过CDN传送HLS时,CDN不支持HTTP-FLV或HTTP-TS,因此您应该尝试其他播放器,从最后一段开始播放,因为延迟是由HLS的播放器行为决定的。