查看原文
其他

世界杯直播背后看不见的战斗:腾讯云极速高清技术部署实录

李海琦 CSDN 2018-07-26

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

作者:李海琦,腾讯云高级产品经理。

世界杯直播你看了吗?央视网,央视影音的清晰度及流畅度,是不是给你留下比较深刻的印象?我们先看下网友们的反馈:

(点击查看大图)

央视作为本次世界杯的版权方和内容分发方,对于本次世界杯直播支撑服务有着极高的技术要求。而央视网最终选择了腾讯云-视频云极速高清产品,来为其全国用户提供流畅稳定的高清直播服务。 

极速高清服务在央视网正式上线运营后,表现确实不错,在世界杯开赛初期,与其他平台的用户体验,形成鲜明对比,一改过往用户对央视大型赛事直播的看法。

本文从极速高清的工作原理,通过深度学习对世界杯场景的优化,针对央视需求与其他技术PK最后胜出,最后部署上线运营为时间线,记录并总结腾讯云极速高清,是如何完成对本次央视网世界杯直播的支撑。


▌一、腾讯云极速高清,到底是个什么鬼?


普通转码主要存在的质量问题有:转码失真、低分辨率模糊、镜头抖动、噪声大、低码率锯齿块等。

极速高清服务,为腾讯-视频云新推出的智能动态编码技术,主要原理为通过深度学习,对直播视频流进行智能处理,从而以更低的带宽成本,给用户提供更高清的视频直播流。其主要通过以下几个模块协作完成。

  1. 视频场景智能分类:我们首先通过深度学习的方法,形成包含游戏、体育、秀场、户外、动漫、美食、影视剧等在内的十几个主流大类及几十个小类场景模型库。极速高清服务开始期间,对实时直播流进行检测分析,并匹配对应场景模型。匹配率方面,较明显的场景如游戏、足球、篮球、动漫等,CNN网络模型匹配准确率达98%以上;电视剧、户外运动、美食、旅游等画面特征分散,帧间运动变化较大的场景,CNN+RNN+LSTM做时域及空间域的分析,准确率在85%以上;

  2. 编码参数匹配:根据第一步场景分类实时识别结果,结合视频源码率、帧率、分辨率、纹理和运动变化幅度等情况,以及综合机器负载和画质效果等维度,选择最优编码参数;

  3. 前置处理:根据不同场景分类、客户对视频画质的不同要求,以及结合视频源画面纹理和实时运动检测结果进行锐化、软模糊、反交错、去块、降噪、色阶补偿、降帧等前置处理;

  4. 编码动态优化:腾讯云-极速高清服务,针对不同视频类别,同一个视频内不同视频段,应用完全不一样的编码参数,其中包括但不限于:IBP帧类型、量化参数QP、分辨率等;且支持编码参数按帧实时更新生效;

  5. 码率智能控制:由于不管是标准H.264/JVT-G012 码率控制算法、还是x264的码率控制算法,在运动变化切换比较明显的场景下,预编一次得到率失真理论凸曲线,都是尽可能接近最优失真曲线,对于运动场景实时检测切换比较明显的场景帧,我们在x264码率控制的基础上,会综合帧时序信息做一些补偿因子和画质控制,使得主观观看得分VMAF值,会有3-5分以上的提高。



    上图,极速高清在VMAF得分相同情况下,码率控制更低更精准;


  6. Detail reduce:针对H264视频编码格式,我们设计了一种在视频残差的频域上消除噪声的算法。该算法结合了当前编码宏块的残差大小、宏块的QP值、历史的频域值等。并根据不同场景,选择匹配的Video Denoise模板,自适应地进行宏块级的视频处理,能够以极低的CPU消耗,对噪声宏块进行优化,同时保留清晰宏块的完整性;

  7. ROI处理:SIFT+差分图像+运动目标图像检测或用户指定(如台标、水印)关注ROI区域,对该区域的宏块编码,进行强化(放大/缩小量化步长)、锐化、色阶补偿等处理,如央视网世界杯,就要求对台标和字幕区域画质和亮度增强。

腾讯云-视频云,主要通过以上模块协作处理,在云端开启腾讯云极速高清服务。


二、500场模拟,百场实践-针对世界杯比赛场景深度学习


今年春节后,腾讯云极速高清服务,开始陆续接入一些头部游戏直播平台,且得到客户认可。但针对体育赛事(特别是足球赛事)的客户,我们一直没有接触到。

世界杯前我们针对足球赛事场景,做一次系统化的机器学习以及视觉效果优化评估,以便为即将到来的世界杯做最好的准备。

  1. 机器学习和视觉调整:网络爬虫足球比赛视频超过500场。针对每场比赛视频在:高速运动场景、足球跟随模型训练、长远镜头优化、精彩回放ROI区域增强,观众表情捕捉等细节,做一些视觉效果分析以及优化效果评估,以便打造世界杯最优动态编码模型;

  2. 中超试水:虽然我们一直在自己优化足球赛事的动态编码模型,但一直缺少真实的落地用户,此时内心还是有些忐忑的;大约4月中旬的时候,我们向龙珠直播的中超比赛,主动推广了极速高清服务,并针对中超的一些比赛,逐步增加了极速高清服务,虽然开始的时候,出现过一些问题,但后来逐步优化后,效果可以满足客户需求;

  3. 英超切量:经过前期在龙珠中超比赛中的实践,我们心里基本有底。后期开始主动寻找一些体育赛事客户。新英体育作为英超在大陆的版权方,在英超比赛方面基本一家独大(而且英超的比赛节奏要远远快于中超,这一点跟世界杯的场景会更加匹配)。我们借助架构师及商务,对新英体育进行了极速高清服务的推广,在多轮的测试及优化下,最后客户验证通过。


三、开赛前,看不见的PK


央视作为整个视频云行业都极其看重的客户,是各云厂商的必争之地。此次世界杯前,央视决定在世界杯期间,引入提升比赛清晰度的新技术后,各云服务厂商都提供了自己的解决方案。

经过几轮测试,央视网最终决定在腾讯云和某云厂商之间选择一家,由于世界杯已经临近,对于我们来说是极大的考验。

在与对手的PK过程中,我们在码率控制、去模糊、去块、反交错、运动搜索和分块决策等模块,共进行了几十次服务升级和优化,经过与一轮又一轮的PK,央视网最终选择了腾讯云。

如上图所示,极速高清在VMAF质量稍微有优势情况,码率比友商少8%-10%左右。


四、众志成城,一周完成央视网极速高清服务私有化部署


虽然在技术指标侧我们赢了,但由于世界杯的特殊性及紧迫性,且客户暂时没有相匹配的服务器等硬件资源。所以该需求就变成了:“自带机器私有化部署”。

其实前期我们与客户沟通的过程中,“私有化部署”一事我们是清楚的,也在着手准备着。

但此时时间确实紧迫,面对“服务器自带”、“交换器自带”、“运维人员自备”等等需求,留给团队准备的时间着实太少。

但我们绝不想功亏一篑,况且服务好本次世界杯的高清直播,对用户、对客户、对腾讯来说都是极其重要的一件事。经过紧急协商,我们拿出了新的私有化方案。

升级后私有化部署方案:

  • 目标:在央视网搭一整套腾讯云极速高清转码集群,支持央视网世界杯期间CCTV5频道直播、RTMP/FLV推拉源流、转码处理后支持央视RTMP/FLV/HLS拉流;

  • 机器部署: 客户机房只有机架资源,考虑如果让客户准备机器相关硬件资源,集团走采购申请周期太长,若按常规流程,来不及服务此次世界杯。所以转码机器我们从公司外借10台M10,其它相关辅助设备如:交换机、光模块、光纤、网线等相关同学通力协作,分头采购。进行服务器等硬件部署时,开发及架构师同学亲自布线,拧螺丝(这才是真正的全栈工程师)。


五、开场哨响,我们比球员紧张


最终,在世界杯开赛前,我们兼容了客户硬件设备以及软件代码模块的各种适配要求。

接下来就是实战的考验了。第一天比赛开始前,大家心里都还很紧张,之前一切的努力,如果在直播开始后出现问题,那都将付之一炬。

开赛后,我们紧张地盯着屏幕:各项服务指标一切正常,出流效果超出预期,播出效果对比其他平台优势明显。

第一天的比赛后,我们也从客户那里获得了极高的评价,外部用户的反馈也让我们心里的石头落了地。但是,比赛才刚刚开始,为期一个月的世界杯,我们也会在看不见的地方继续战斗!

另附几张现场图: 

最后希望各位可以享受到腾讯云为您带来的世界杯极速高清服务。

  征稿啦!

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。
如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。




————— 推荐阅读 —————

点击图片即可阅读

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存