<video id="h1bvj"></video>

    <rp id="h1bvj"><big id="h1bvj"><th id="h1bvj"></th></big></rp>

      <sub id="h1bvj"><progress id="h1bvj"></progress></sub>

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

      作者:李海琦 (腾讯云高级产品经理)

      你们有木有发?#32456;?#23626;世界杯央视网直播特别流畅特别高清?这是用了什么黑科技吗?我们先看下网友们对于这届世界杯高清直播的反馈:

      央视作为本次世界杯的版权方和内容分发方,对于本次世界杯直播支撑服务有着极高的技术要求。而央视网最终选择了腾讯云-视频云极速高清产品,?#27425;?#20854;全国用户提供流畅稳定的高清直播服务。 极速高清服务在央视网正式上线运营后表现确实不错,在世界杯开赛初期与其他平台的用户体验形?#19978;?#26126;对比,一改过往用户对央视大型赛事直播的看法。

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

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

      普通转码主要存在的质量问题有:转码失真、低?#30452;?#29575;模糊、?#20302;?#25238;动、噪声大、低码率锯齿块等。

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

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

      2、编码?#38382;?#21305;配:根据第一步场景分类实时识别结果,结合视频源码率、帧率、?#30452;?#29575;、纹理和运动变化幅度等情况,以及综合机器负载和画质效果等维度,选择最优编码?#38382;?/p>

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

      4、编码动态优化:腾讯云-极速高清服务针对不同视频类别,同一个视?#30340;?#19981;同视频段,应用完全不一样的编码?#38382;?#20854;中包括但不限于:IBP帧类型、量化?#38382;齉P、?#30452;媛实齲?#19988;支?#30452;?#30721;?#38382;?#25353;帧实?#22791;?#26032;生效。

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

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

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

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

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

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

      今年春节后,腾讯云极速高清服务开始陆续接入一些头部游戏直播平台,且得到客户认可。但针对体育赛事(特别是足球赛事)的客户我们一直没有接触到。世界杯前我们针对足球赛事场景做一次?#20302;?#21270;的机器学习以及视觉效果优化评估,以便为即将到来的世界杯做最好的准备。

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

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

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

      三、开赛前,看不见的PK

      央视作为整个视频云行业都极其看重的客户,是各云厂商的必争之地。此次世界杯前,央视决定在世界杯期间引入提升比赛清晰度的新技术后,各云服务厂商都提供了自己的解决方案。经过几轮测试,央视网最终决定在腾讯云和某云厂商之间选择一家,由于世界杯已经临近,对于我们来说是极大的考验。在与对手的PK过程中,我们在码率控制、去模糊、去块、反交错、运动搜索和分块决策等模块共进行了几十次服务升级和优化,经过与一轮又一轮的PK,央视网最终选择了腾讯云。

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

      四、众志?#27801;牽?#19968;周完成央视网极速高清服务私有化部署

      虽然在技术指标侧我们赢了,但由于世界杯的特殊性及紧迫性,且客户暂时没有相匹配的服务器等硬件资源。所以该需求就变成了:“?#28304;?#26426;器私有化部署”。其实前期我们与客户沟通的过程中,“私有化部署”一事我们是清楚的,也在着手准备着。但此时时间确实紧迫,面对“服务器?#28304;保?#20132;换器?#28304;保?#36816;维人员自备”等等需求,留给团队准备的时间着实太少。但我们绝不想功亏一篑,况且服务好本次世界杯的高清直播,对用户,对客户,对腾讯来说都是极其重要的一件事。经过紧急协商,我们拿出了新的私有化方案。

      升级后私有化部署方案

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

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

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

      最终,在世界杯开赛前我们兼容了客户硬件设备以及软件代码模块的各?#36136;?#37197;要求。接下来就是实战的考验了第一天比赛开?#35760;埃?#22823;家心里都还很紧?#29275;?#20043;前一切的努力如果在直播开始后出现问题,那都将付之一炬。开赛后,我们紧张的盯着屏幕:各项服务指标一切正常,出流效果超出预期,播出效果对比其他平台优势明显。第一天的比赛后,我们也从客户那里获得了极高的评价,外部用户的反馈也让我们心里的石头落了地。但是,比赛才刚刚开始,为期一个月的世界杯,我们?#19981;?#22312;看不见的地方继续战斗!

      另附几张现场图:

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

      点击了解腾讯云极速高清服务:http://www.8801454.com/solution/video-ai-solution

      如果你对本届世界杯(谁是冠军呢?)有任?#25105;?#38382;,请关注腾讯云加社区公众?#29275;?/strong>

      微信搜索:云加社区,即可添加,及时获取技术干货/行业动态,你?#37096;?#20197;成为技术牛人!

      原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

      如有侵权,请联系 [email protected] 删除。

      发表于

      我来说两句

      0 条评论
      登录 后参与评论

      相关文章

      来自专栏黄成甲

      互联网产品如何建立用户画像?

      过年时,闲?#27425;?#32842;,便想起年前和啊喔科技的的朋友聊到过“不写就出?#24103;?#29992;户活跃度的话题,大家共同讲起了需要建立产品的用户画像。去年十月,雨花客厅程冲?#40092;?#22312;产品课程上...

      1762
      来自专栏腾讯开源的专栏

      道器相融,由 Angel 谈一个优秀机器学习平台的自我修养

      随着人工智能时代来临,大数据平台发生了新的变化,企业该如何更好地利用机器学习、深度学习等人工智能技术从实时数据中高效挖掘有价值的信息?

      4841
      来自专栏专知

      【一周AI热点干货概览?#23458;?#28145;度学习/知识图谱构建推理/自注意力框架/自动驾驶/AI冬天论 (附pdf下载)

      3526
      来自专栏华章科技

      【强烈推荐】十三个鲜为人知的大数据学习网站

      越来越多的管理者意识到数据分析对经济发展、企业运营的重要意义。在古代,?#32654;?#29706;阁者得天下;现在,得大数据者得天下。

      1073
      来自专栏CVer

      【重磅】TensorFlow中文社区论坛发布

      昨天Amusi在刷微信公众号推?#27169;?#31361;然看到"TensorFlow"官方微信推送的文章,瞬间就被点燃了。对于这?#30452;?#39064;?#22330;癟ensorFlow中文社区论坛 (测试版...

      4576
      来自专栏大数据文摘

      视频更新|斯坦福CS231n深度学习与计算机视觉?#38382;?1-神经网络训练细节part2(上)

      1534
      来自专栏镁客网

      这款DNA机器人,可以帮你分拣身体中的生物垃圾 | 黑科技

      1680
      来自专栏量?#28216;?/a>

      F8大动作:PyTorch 1.0现身(Logo?#19981;?#20102;),围棋AI开源

      Caffe2和PyTorch合体?#24405;?#26377;了清晰的发展方向,同样服务于深度学习开发者的ONNX?#27531;?#24067;支持更多的框架。

      1352
      来自专栏量?#28216;?/a>

      再谈量子计算机:中国队有何?#40644;疲换?#26412;原理是什么,又长什么样

      唐旭 安妮 晓查 发自 凹非寺 量?#28216;?报道 | 公众号 QbitAI 继续谈谈量子计算。 昨天,中科院召开发布会正式宣布:“世界首台超越早期经典计算机的光量子...

      3438
      来自专栏?#36718;?#20803;

      深度学习驱动智能搜索引擎,RankBrain革了SEO的命

      【?#36718;?#20803;?#32423;痢?#24819;在谷歌或百度等搜索结果中排名靠前,除了广告(给钱),你还可以选择SEO(搜索引擎优化):让网站符合算法的规则,提升在搜索引擎内的自然排名。但去年...

      3749

      扫码关注云+社区

      福建十一选五。
      <video id="h1bvj"></video>

        <rp id="h1bvj"><big id="h1bvj"><th id="h1bvj"></th></big></rp>

          <sub id="h1bvj"><progress id="h1bvj"></progress></sub>

          <video id="h1bvj"></video>

            <rp id="h1bvj"><big id="h1bvj"><th id="h1bvj"></th></big></rp>

              <sub id="h1bvj"><progress id="h1bvj"></progress></sub>