世界杯直播你看了吗?央视网、央视影音的清晰度及流畅度是不是给你留下比较深刻的印象?我们先看下网友们的反馈:
央视作为本次世界杯的版权方和内容分发方,对于本次世界杯直播的支撑服务有着极高的技术要求。而央视网最终也是选择了腾讯云的视频云极速高清产品,来为其全国用户提供流畅稳定的高清直播服务。
从效果来看,极速高清服务在央视网正式上线运营后表现确实不错,在世界杯开赛后与其他平台用户体验也形成了比较鲜明的对比,一改过往用户对央视大型赛事直播的看法。
本文从极速高清的工作原理出发,详细介绍腾讯云的深度学习技术如何对世界杯直播场景进行优化,其中还有腾讯云如何在 PK中胜出、如何在一周内完成央视网极速高清服务私有化部署等不为人知的故事。
普通转码主要存在的质量问题有:转码失真、低分辨率模糊、镜头抖动、噪声大、低码率锯齿块等。
极速高清服务是腾讯云视频云新推出的智能动态编码技术,主要原理就是通过深度学习,对直播视频流进行智能处理,从而以更低的带宽成本给用户提供更高清的视频直播流。主要通过以下几个模块协作完成。
首先通过深度学习的方法,形成包含游戏,体育,秀场,户外,动漫,美食,影视剧等在内的十几个主流大类及几十个小类场景模型库。极速高清服务开始期间,对实时直播流进行检测分析,并匹配对应场景模型。在匹配率方面,较明显的场景如游戏,足球,篮球,动漫等,CNN网络模型匹配准确率达到 98%以上;在电视剧,户外运动,美食,旅游等画面特征分散、帧间运动变化较大的场景下,CNN+RNN+LSTM做时域及空间域的分析,准确率也在 85%以上。
根据第一步场景分类实时识别结果,接下来结合视频源码率、帧率、分辨率、纹理和运动变化幅度等情况,以及综合机器负载和画质效果等维度,选择最优编码参数。
根据不同场景分类、客户对视频画质的不同要求,以及结合视频源画面纹理和实时运动检测结果进行锐化、软模糊、反交错、去块、降噪、色阶补偿、降帧等前置处理。
腾讯云极速高清服务针对不同视频类别,或者同一个视频内的不同视频段,应用完全不一样的编码参数。其中包括但不限于:IBP帧类型、量化参数 QP、分辨率等;而且支持编码参数按帧实时更新生效。
由于不管是标准 H.264/JVT-G012 码率控制算法还是 x264的码率控制算法,在运动变化切换比较明显的场景下,预编一次得到率失真理论凸曲线都是尽可能接近最优失真曲线,对于运动场景实时检测切换比较明显的场景帧,我们会在 x264码率控制的基础上,综合帧时序信息做一些补偿因子和画质控制,使得主观观看得分 VMAF值会有 3-5分以上的提高。
图注:极速高清在 VMAF得分相同情况下,码率控制更低更精准。
针对 h264视频编码格式,我们设计了一种在视频残差的频域上消除噪声的算法。该算法结合了当前编码宏块的残差大小,宏块的 QP值,历史的频域值等,并根据不同场景选择匹配的 video denoise模板,自适应地进行宏块级的视频处理,能够以极低的 CPU消耗对噪声宏块进行优化,同时保留清晰宏块的完整性。
SIFT+差分图像 +运动目标图像检测或用户指定 (如台标、水印)关注 ROI区域,对该区域的宏块编码进行强化 (放大 /缩小量化步长)、锐化、色阶补偿等处理,如央视网世界杯就要求对台标和字幕区域画质和亮度增强。
腾讯云视频云主要通过以上模块协作处理在云端开启腾讯云极速高清服务。
今年春节后,腾讯云极速高清服务开始陆续接入一些头部游戏直播平台,但针对体育赛事特别是足球赛事的客户,我们一直没有接触到。世界杯前我们针对足球赛事场景做了一次系统化的机器学习以及视觉效果优化评估,以便为即将到来的世界杯做好准备。
我们通过网络爬虫收集到 500场足球比赛视频,针对每场比赛视频,在高速运动场景,足球跟随模型训练,长远镜头优化,精彩回放 ROI区域增强,观众表情捕捉等细节上,做出视觉效果分析以及优化效果评估,以便打造世界杯最优动态编码模型。
虽然我们一直在自己优化足球赛事的动态编码模型,但一直缺少真实的落地用户,此时内心还是有些忐忑的。大约 4月中旬的时候,我们向龙珠直播的中超比赛主动推广了极速高清服务,并针对中超的一些比赛逐步增加了极速高清服务,虽然开始的时候出现过一些问题,但后来逐步优化后,效果可以满足客户需求。
经过前期在龙珠中超比赛中的实践,我们心里基本有底,后期开始主动寻找一些体育赛事客户。新英体育作为英超在大陆的版权方,在英超比赛方面基本一家独大(而且英超的比赛节奏要远远快于中超,这一点跟世界杯的场景会更加匹配,我们对新英体育进行了极速高清服务的推广,在多轮的测试及优化下,最后客户验证通过。
央视作为整个视频云行业都极其看重的客户,是各家云厂商的必争之地。此次世界杯前,央视决定在世界杯期间引入提升比赛清晰度的新技术后,各云服务厂商都提供了自己的解决方案。经过几轮测试,央视网最终决定在腾讯云和某云厂商之间选择一家,由于世界杯已经临近,对于我们来说是极大的考验。在与对手的 PK过程中,我们在码率控制、去模糊、去块、反交错、运动搜索和分块决策等模块上共进行了几十次的服务升级和优化,经过一轮又一轮的 PK,央视网最终选择了腾讯云。
图注:极速高清在 VMAF质量稍微有优势情况,码率比友商少 8%-10%左右。
虽然在技术指标侧我们胜出,但由于世界杯的特殊性及紧迫性,且客户暂时没有相匹配的服务器等硬件资源,所以需求就变成了:自带机器私有化部署。其实前期我们与客户沟通的过程中,“私有化部署”一事我们是清楚的,也在着手准备着。但此时时间紧迫,面对“服务器自带”,“交换器自带”,“运维人员自备”等需求,留给团队准备的时间着实太少。但我们绝不想功亏一篑,况且服务好本次世界杯的高清直播,对用户,对客户,对腾讯来说都是极其重要的一件事。经过紧急协商,我们拿出了新的私有化方案。
在央视网搭一整套腾讯云极速高清转码集群,支持央视网世界杯期间 CCTV5频道直播,RTMP/FLV推拉源流,转码处理后支持央视 RTMP/FLV/HLS拉流。
客户机房只有机架资源,考虑到如果让客户准备相关硬件资源,集团走采购申请的周期太长。若按常规流程,来不及服务此次世界杯。所以转码机器我们从公司外借 10台 M10,其它相关辅助设备如:交换机、光模块、光纤、网线等也经过了相关同学通力协作,进行了分头采购。在进行服务器等硬件部署时,开发及架构师同学甚至亲自布线、拧螺丝。(这才是真正的全栈工程师)
最终,在世界杯开赛前我们兼容了客户硬件设备以及软件代码模块的各种适配要求,接下来就是实战的考验了。
第一天比赛开始前,大家心里都还很紧张,之前一切的努力如果在直播开始后出现问题,那都将付之一炬。开赛后,我们紧张地盯着屏幕:各项服务指标一切正常,出流效果超出预期,播出效果对比其他平台优势明显。第一天的比赛后,我们也从客户那里获得了极高评价,外部用户的反馈也让我们心里的石头落了地。但是,比赛才刚刚开始,为期一个月的世界杯,我们也会在看不见的地方继续战斗!
本文作者:腾讯云高级产品经理 李海琦