多码率自适应

更新时间:2025-05-29 11:39:33

多码率自适应技术(ABR)可有效应对多样化的终端设备和网络环境挑战。该技术能根据用户实时网络状况自动适配最佳码率视频内容,确保不同设备和网络条件下的用户均可获得最优观看体验。

CDNetworks 为 HLS 和 DASH 封装格式提供完整的多码率自适应支持方案。

使用方法

在请求内容中,请按照以下格式设置 fops 参数:

<op>/<Format>
    /envBandWidth/<value>
    /multiAb/<value>
    /multiVb/<value>
    /multiResolution/<value>
    |saveas/<Urlsafe_Base64_Encode(bucket:filekey)>

参数说明

参数 必填 描述
op 操作类型。多码率自适应需使用 avthumb
format 输出的目标格式。支持 m3u8(HLS)、mpd(DASH)等
envBandWidth 触发HLS流切换的带宽阈值(单位:比特/秒)

• 最多配置5级阈值(至少需2级)
• 有效取值范围:50,000 - 30,000,000 比特/秒
• 示例:60000:150000:500000

重要说明:
1. HLS格式输出时必填
2. 阈值数量需与multiVbmultiAbmultiResolution参数数量一致
3. 阈值应接近转码码率值
4. 带宽值需按升序排列
multiAb 多档音频码率配置(单位:比特/秒)

• 最多配置5个(至少需2个)
• 示例:64k:128k:256k

重要说明:
1. 数量需与multiVbmultiResolution参数值个数一致
2. 不可与标准音频转码参数ab同时使用
multiVb 多档视频码率配置(单位:比特/秒)

• 最多配置5个(至少需2个)
• 示例:128k:600k:1.25m

重要说明:
1. 数量需与multiAbmultiResolution参数值个数一致
2. 不可与标准视频转码参数vb同时使用
multiResolution 多档分辨率配置,格式:宽x高

• 最多配置5个(至少需2个)
• 支持两种配置方式:

1. 宽度x高度: 设置指定的宽和高,按配置输出指定宽和高的视频(如320x240:640x480:1080x720
注意:可能改变视频宽高比导致画面拉伸

2. 单维宽度或高度: 仅设置宽或高,另一维度用-1表示(如320x-1:-1x480:1080x-1
未指定的维度将按原始比例自动缩放
saveas 输出位置,保存为指定文件(URL安全的Base64编码字符串):Urlsafe_Base64_Encode(bucket:savedfilename)

示例

示例1:HLS多码率自适应

本示例基于源文件test_hls.m3u8生成包含2个质量等级的自适应码率HLS流:

质量等级配置:

  • 等级1:
    • 带宽:60 kb/s
    • 视频码率:128 kbit/s
    • 音频码率:64 kbit/s
    • 分辨率:320x240
  • 等级2:
    • 带宽:100 kb/s
    • 视频码率:600 kbit/s
    • 音频码率:128 kbit/s
    • 分辨率:640x480

伪代码:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test_hls.m3u8)&fops=Urlsafe_Base64_Encode(avthumb/m3u8/envBandWidth/60000:100000/multiAb/64k:128k/multiVb/128k:600k/multiResolution/320x240:640x480|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_file.m3u8))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

实际请求:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdF9obHMubTN1OA==&fops=YXZ0aHVtYi9tM3U4L2VudkJhbmRXaWR0aC81MDAwMDoxMDAwMDAvbXVsdGlBYi82NGs6MTI4ay9tdWx0aVZiLzEyOGs6NjAway9tdWx0aVJlc29sdXRpb24vMzIweDI0MDo2NDB4NDgwfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmWm1sc1pTNXRNM1U0&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

示例2:DASH自适应码率

本示例演示如何基于源文件test.mp4生成两个不同码率的视频流和一个音频流,以构建自适应码率DASH流:

流配置:

  • 视频流1:
    • 码率:128 kbit/s
    • 分辨率:320x240
  • 视频流2:
    • 码率:600 kbit/s
    • 分辨率:640x480
  • 音频流:
    • 码率:64 kbit/s

伪代码:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test_hls.m3u8)&fops=Urlsafe_Base64_Encode(avthumb/mpd/multiVb/128k:600k/multiAb/64k/multiResolution/320x240:640x480|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.mpd))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

实际请求代码格式请参考示例1。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!