更新时间: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. 阈值数量需与 multiVb、multiAb、multiResolution参数数量一致3. 阈值应接近转码码率值 4. 带宽值需按升序排列 |
multiAb |
否 | 多档音频码率配置(单位:比特/秒) • 最多配置5个(至少需2个) • 示例: 64k:128k:256k重要说明: 1. 数量需与 multiVb、multiResolution参数值个数一致2. 不可与标准音频转码参数 ab同时使用 |
multiVb |
否 | 多档视频码率配置(单位:比特/秒) • 最多配置5个(至少需2个) • 示例: 128k:600k:1.25m重要说明: 1. 数量需与 multiAb、multiResolution参数值个数一致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) |
本示例基于源文件test_hls.m3u8生成包含2个质量等级的自适应码率HLS流:
质量等级配置:
伪代码:
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"
本示例演示如何基于源文件test.mp4生成两个不同码率的视频流和一个音频流,以构建自适应码率DASH流:
流配置:
伪代码:
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。