生成M3U8 HLS播放列表时,我应该包括尚不存在的媒体片段吗?

时间:2018-12-11 06:08:05

标签: hls m3u8

我正在为HLS https://tools.ietf.org/html/rfc8216

生成m3u8 媒体播放列表

我应该在媒体播放列表中包含每个媒体段URL(用于MPEG-2传输流文件)之前,再在该URL上获取数据吗?还是应该只包含已完成录制并且知道数据可以下载的视频片段,然后等待HLS客户端重新请求播放列表?

我觉得在这一点上标准还不太清楚。

我注意到,对于至少一个HLS客户端(HLS.js),它要求在媒体播放列表中至少存在一个媒体段,否则它会令人头疼。当然,这可能只是一个错误。

作为背景,我的播放列表中的媒体片段是Amazon S3 URL。我指示另一台计算机在收到播放列表请求时开始将视频片段上传到S3。

2 个答案:

答案 0 :(得分:2)

这样做会违反HLS规范的第6.2.1 [1]节:

  

客户端加载的播放列表中指定的任何媒体段      必须可以立即下载,否则播放错误可能      发生。下载开始后,其传输速率不应为      受细分生产过程的限制。

[1] https://tools.ietf.org/html/rfc8216#section-6.2.1

答案 1 :(得分:1)

如果该文件不存在,服务器将返回404。大多数播放器将在此时停止。