我正在为HLS https://tools.ietf.org/html/rfc8216
生成m3u8 媒体播放列表我应该在媒体播放列表中包含每个媒体段URL(用于MPEG-2传输流文件)之前,再在该URL上获取数据吗?还是应该只包含已完成录制并且知道数据可以下载的视频片段,然后等待HLS客户端重新请求播放列表?
我觉得在这一点上标准还不太清楚。
我注意到,对于至少一个HLS客户端(HLS.js),它要求在媒体播放列表中至少存在一个媒体段,否则它会令人头疼。当然,这可能只是一个错误。
作为背景,我的播放列表中的媒体片段是Amazon S3 URL。我指示另一台计算机在收到播放列表请求时开始将视频片段上传到S3。
答案 0 :(得分:2)
这样做会违反HLS规范的第6.2.1 [1]节:
客户端加载的播放列表中指定的任何媒体段 必须可以立即下载,否则播放错误可能 发生。下载开始后,其传输速率不应为 受细分生产过程的限制。
答案 1 :(得分:1)
如果该文件不存在,服务器将返回404。大多数播放器将在此时停止。