低延迟 HLS (LL-HLS)
警告
Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南。
媒体服务支持 Apple 的低延迟 HLS (LL-HLS) 规范。 本文介绍媒体服务对 LL-HLS 的支持并提供实现指南。
注意
目前,我们不支持 LL-DASH。
LowLatency 和 LowLatencyV2 选项
媒体服务支持使用 LL-HLS 对标准编码实时事件和高级编码实时事件进行低延迟的实时流式处理。 创建新的编码实时事件时,必须选择 StreamOptions.LowLatencyV2(如果使用 API)或“低延迟”选项(如果使用 Azure 门户)。 此选项与其他流选项相比存在某些限制。
- 目前仅支持 RTMP 输入。
- 不支持平滑输出。
- 仍可以使用 DASH 输出,并可以获得比其他流选项更低的延迟。 但是不支持 LL-DASH。
- 建议在实时播放期间使用较小的回查窗口。 默认情况下,我们会设置 30 分钟的回查窗口。
- 最多只能存档 6 小时的实时内容。
- 对 Fairplay 的支持有限。
如何使用 LL-HLS
在Azure 门户中使用 LowLatencyV2
- 设置本地流。 尝试学习 OBS 教程(如果尚未参阅过该教程)。
- 创建实时事件时,请在实时事件类型下选择“标准编码(最高 720p)”或“高级编码(最高 1080p)”。 此时将显示“流延迟”选项。
- 选中“低延迟”单选按钮。 将自动为你选择的编码标准选择“LowLatencyV2”。
- (可选)选中“开始为输入准备实时事件”复选框以自动启动实时事件。 请记住,启动实时事件后会立即开始计费。
- 为实时事件设置所需的任何其他选项,然后选择“查看并创建”。 此时将显示实时事件屏幕,其中包含流式处理 URL 的列表。
- 复制“HLS URL”以便在播放器中使用。
LL-HLS SDK 示例
为 LL-HLS 提供的示例代码注释中提供了详细说明。
有关流式处理 URL 格式的详细信息,请参阅动态打包页。
播放器测试
建议使用支持 LL-HLS 的播放器,并相应地配置播放器以获得最佳效果。
我们已使用以下播放器的最新版本进行了测试:
- Shaka 4.3.2
- Video.JS 7.21.1,支持 LL-HLS
- ExoPlayer
将 DASH 输出与 Azure Media Player 配合使用时,请为播放器配置以下选项:heuristicprofile: LowLatency
。
输出格式
对于 LL-HLS 输出,请使用格式字符串:(format=m3u8-cmaf)。 例如:
https://accountName-region.streaming.media.chinacloudapi.cn/11111111-1111-43ce-9dba-3aee82e35262/output.ism/manifest(format=m3u8-cmaf).m3u8
使用 DASH 输出时,请使用格式字符串:(format=mpd-time-cmaf)
注意
根据本地网络状况,端到端延迟可能有所不同。 应当测试你的确切配置。