15_适用于 Apple 设备的 HTTP 实时流式处理 (HLS) 创作规范(四)

交付

10. 交付要求

10.1. 服务器必须使用 gzip 内容编码提供播放列表。

10.2. 我们应该支持流故障转移,例如通过在多变量播放列表中列出重复的流。

10.3. 媒体数据不应通过本地服务器传送到应用程序。

10.4. 我们应该对内容使用推荐的 MIME 类型。下表列出了这些建议:

媒体类型 格式 推荐的 MIME 类型 典型文件扩展名
Playlist HLS playlist application/vnd.apple.mpegurl m3u8
Playlist M3U playlist audio/mpegurl m3u
Video MPEG transport stream video/mp2t ts
Media Initializaton Fragmented MP4 video/mp4 mp4
Video or audio Fragmented MP4 video/iso.segment m4s
Video Fragmented MP4 video/mp4 mp4
Audio MPEG transport stream video/mp2t ts
Audio Fragmented MP4 audio/mp4 mp4
Audio Packed audio audio/aac aac
Audio Packed audio audio/mpeg mp3
Audio Packed audio audio/ac3 ac3
Audio Packed audio audio/eac3 ec3
Subtitles WebVTT text/vtt or text/plain vtt
Subtitles IMSC1 application/mp4 mp4
Content Steering Manifest JSON file application/vnd.apple.steering-list json
X-ASSET-LIST response JSON file application/json json

注意

M3U 播放列表 MIME 类型的音频/mpegurl 未在 IANA 注册。众所周知,一些年长的玩家拒绝文本/ vtt作为非法类型。为了兼容,文本/纯文本是可以接受的。

隐私

注意

在未来的版本中,Apple将要求通过TLS进行交付,因此我们应该尽快开始向这个方向移动交付系统。

11. 隐私要求

11.1. 多变量播放列表应使用传输层安全性 (TLS) 交付。

11.2. 媒体播放列表应使用 TLS 交付。

11.3. 媒体段应使用 TLS 交付。

11.4. 通过未加密传输请求的媒体段 URL 不应包含显示的字符串,例如电影标题、节目标题、剧集名称、剧集编号、流派、广告商或产品。

安全

12. 安全要求

12.1. 传输层安全性 (TLS) 必须是具有前向安全性的 1.2 版。

12.2. TLS 不得使用已知不安全的加密原语(例如 RC4 加密、SHA-1 证书签名)。

12.3. 在 TLS 中,RSA 的密钥大小必须为 2048 位,EC 的密钥大小必须为 256 位。

12.4. 媒体段的 URL 不应完全静态。URL 应按设备发布或随时间更改。

内容保护

13. 内容保护要求

13.1. 视频和音频的内容保护应遵循公平播放流媒体 (FPS) 规范。

13.2. 如果内容是用 FPS 加密的,则该方法必须是 SAMPLE-AES。

13.3. 如果内容使用 FPS 加密,则密钥格式必须为“com.apple.streamingkeydelivery”。

13.4. 除非出于互操作性的需要,否则 IV 属性不应与 FPS 一起使用。

13.5. 具有高清分辨率的内容应使用 HDCP 级别 TYPE-0。

13.6. 分辨率高于高清的内容应使用 HDCP 级别的 TYPE-1。

13.7. 使用通用加密加密的视频必须使用 1:9 的加密:跳过模式(10% 部分加密)。

13.8. 使用“转数快”加密的内容可以使用“允许的每次点击费用”属性。
13.9. 通用加密不得使用内容敏感加密。

13.10. 内容作者可以在单个 HLS fMP4 段中混合加密和未加密的样本,并在单个媒体初始化部分提供加密的样本描述,方法是在索引 0 处提供加密的样本描述,在索引 1 处为每个轨道提供未加密的样本描述。每个样本的示例索引字段应指向相应的示例说明。

注意

HD 大约是 720p 到 1080p 的范围。

低延迟 HLS

14. 低延迟 HLS 要求

14.1. 低延迟流交付必须满足 draft-pantos-hls-rfc8216bis-07 或更高版本附录 B 中低延迟服务器配置文件的所有要求。

14.2.

14.2a. 部件目标持续时间必须至少为 95% 的客户端预期看到的服务器的最大往返时间 (RTT)(P95 RTT)。

14.2b. 零件目标持续时间应至少是 P95 RTT 的三倍。

14.2c. 建议零件目标持续时间为一秒。

14.3. 部分保留值必须至少是部分目标持续时间的三倍。

14.4. 播放列表窗口超过两分钟的服务应提供播放列表增量更新。

14.5. 提供播放列表增量更新并使用 EXT-X-DATERANGE 标签的服务也应使用 CAN-SKIP-DATERANGES=YES。

共享播放

注意

其他要求仅适用于单个客户端接收的播放列表和媒体。“共享播放”添加了适用于“共享播放”会话中所有参与者的要求。

15. 共享 HLS 要求

15.1. 对于实时(线性)内容,从 EXT-X-PROGRAM-DATE-TIME 标签派生的时间轴用于同步。该时间表必须与所有参与者一致。

15.2. 对于 VOD 内容,基于播放列表开始的时间线用于同步。该时间表必须与所有参与者一致。

15.3. 发送给分享会话参与者的插页式广告的时长应匹配。否则,接收持续时间较长的插页式广告的参与者将错过一些主要内容。仅当所有参与者都使用支持控制协调媒体播放的应用时,才能覆盖此行为。