更新时间:2021-07-19 16:07:00
当前很多CDN厂商都有提供视频转码功能,将高码率、高分辨率的视频转为低码率、低分辨率的视频,以此来为视频提供商节省带宽成本。但码率、分辨率直接由高转低一般会导致画面质量下降,从而影响用户的观看体验。
为此,网宿推出了智控高清功能。智控高清是以用户最优体验为前提,降低客户带宽成本为目标的一种视频编码技术。在成本方面,智控高清通过自动调节最优码率,根据视频内容,在不影响原画质的前提下,适当降低码率,帮助视频提供商大大节省带宽成本;在体验方面,智控高清利用网宿自研的编码技术,智能分析画面复杂度变化,对图像进行增强处理,达到提高用户体验的目的。
从技术层面上看,网宿智控高清在不影响主观画质的情况下,合理降低码率;在码率不变的情况下,尽可能对图像进行增强。网宿智控高清主要是从分场景转码、编码器优化以及画质重生这几个方面来实现的。
一个完整的视频播放需要经过采集、编码、传输(分发)、解码、播放的过程。
网宿智控高清是在CDN分发过程之前对视频进行预处理,在重新编码前先对视频内容进行分析,在主观画质不损失的情况下根据视频场景来设置合理的编码参数,尽可能在保证画质的前提下降低码率。
为提高人眼视觉体验,网宿对编码器进行优化,主要实现以下两个功能:
1. 码率合理分配。基于主观质量优化的码率控制和自适应算法,把码率用在该用的地方,提升观看效果。
2. 易关注纹理增强。对于视频上的敏感元素(如Logo、文字、时间等)进行锐化、降噪、对比度增强、去块效应及去振铃效应等操作。
通过超分辨率技术,对拍摄抖动、转码失真等已经受损的片源进行修复,还原低质量片源的用户观感。
客户若要使用网宿点播智控高清功能,需要开通相关服务,在上传视频或者音频文件后,调用API接口即可实现智控高清处理。
POST /fops
Host: <MgrDomain>
Authorization: <AccessToken>
表1 请求说明
参数 | 必填 | 描述 |
Host | 是 | 管理域名,可在“用户管理界面-安全管理-域名查询”获取获取;通过管理域名进行文件操作。 |
Authorization | 是 | 管理凭证,用于验证资源管理接口请求的合法性。生成可参考管理凭证生成工具。 |
bucket=<Urlsafe_Base64_Encoded_Bucket>&key=<Urlsafe_Base64_Encoded_Key>&fops=<Urlsafe_Base64_Encoded_Fops>¬ifyURL=<Urlsafe_Base64_Encoded_PersistentNotifyUrl>&force=<Force>&separate=<Separate>
fops用于传递智控高清参数,即fops= Urlsafe_Base64_Encode(是否开启智控高清|saveas/空间名:生成文件名),saveas用于指定生成的新文件名及存放空间。
表2 请求参数说明
参数 | 必填 | 描述 |
bucket | 是 | 空间名,即:原文件所在的空间 |
key | 是 | 文件名,即:原文件的文件名 |
fops | 是 | 处理参数列表,可以通过参数传入控制是否开启智控高清处理,具体参数请在开通网宿智控高清功能后,咨询相关项目经理获取。 |
notifyURL | 否 | 处理结果通知接收URL,通知数据详细说明处理后的内容信息,比如视频码率、时长等。 |
force | 否 | 是否强制执行数据处理。支持设置以下数值:0表示指定的数据处理结果如果存在,返回文件已存在,不进行处理,避免重复处理浪费资源;1表示强制执行数据处理并覆盖已有文件;默认缺省为0。 |
separate | 否 | 处理是否分开通知。支持设置以下数值:0表示所有转码指令执行完后再一次性通知notifyURL;1表示每个转码指令执行完后都通知notifyURL;默认缺省为0。 |
如果请求成功,则返回如下内容的Json串:
{ "persistentId": <persistentId> }
如果请求失败,则返回如下内容的Json字符串:
{
"code": "<code string>",
"message": "<ErrMsg string>"
}
字段名 | 必填 | 描述 |
persistentId | 是 | 上传预处理或者触发持久化处理的进程ID |
code | 是 | HTTP请求响应码,参见HTTP响应状态码<返回码> |
message | 是 | 处理失败的提示信息 |
curl -v -X POST –d "bucket=Urlsafe_Base64_Encode(test)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/flv/是否开通智控高清处理/是|saveas/Urlsafe_Base64_Encode(test:filekey.flv))¬ifyURL=http://customer.test.com/a=1&force=1&separate=1" –H "Authorization:86622e227a50d49d858c2494a935bc2e4ac543a7:Y2JmMGY0YTNhZmQxZmVlZGM2ZTA0YTdjNTcyOWQ1NjRkNTExYjg0Yg==" --url "http://mgr.wcsapi.biz.matocloud.com/fops"
参数含义说明如下:
(1) bucket:表示原文件所在的空间名为test;
(2) key:表示原文件的文件名为test.mp4;
(3) fops:处理参数,表示启用智控高清功能,处理后的文件另存到test空间下,命名为filekey.flv;
(4) notifyURL:表示回调地址为http://customer.test.com/a=1。
以上参数均需经过URL安全的Base64编码。
(5) force=1:表示指定的数据处理结果如果存在,依然强制执行数据处理并覆盖已有文件。
(6) separate=1:表示分开回调,每个转码指令执行完后都通知notifyURL。
(7) Authorization:管理凭证,由AK(安全密钥)、SK(访问密钥)、Path、Body通过管理凭证生成工具生成,其中AK、SK从“控制台-账号管理-用户信息管理-AccessKey管理”处获取,Path为/fops,Body为请求内容。
(8) mgr.wcsapi.biz.matocloud.com:指定客户的管理域名,可登录账号后通过“控制台-对象存储-对应存储空间-概览”处获取。
(9) /fops:表示接口操作类型为转码。
目前仅支持对存储在网宿云存储上的视频文件进行智控高清处理,所以若要使用网宿点播智控高清功能,需要同时开通网宿云存储服务。
智控高清适用于所有有降码高清需求的点播客户。