NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

央视在世界杯高清直播中占了 C 位 它是怎么做到的?

  • 2018-06-27
  • 本文字数:2991 字

    阅读完需:约 10 分钟

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

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

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

本文从极速高清的工作原理出发,详细介绍腾讯云的深度学习技术如何对世界杯直播场景进行优化,其中还有腾讯云如何在 PK 中胜出、如何在一周内完成央视网极速高清服务私有化部署等不为人知的故事。

腾讯云极速高清:深度学习效能如何最大化?

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

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

  • 视频场景智能分类

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

  • 编码参数匹配

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

  • 前置处理

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

  • 编码动态优化

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

  • 码率智能控制

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

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

  • detail reduce

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

  • ROI 处理

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

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

从模拟到切量:500+ 场的世界杯赛前预演

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

  • 预演:机器学习和视觉调整

我们通过网络爬虫收集到 500 场足球比赛视频,针对每场比赛视频,在高速运动场景,足球跟随模型训练,长远镜头优化,精彩回放 ROI 区域增强,观众表情捕捉等细节上,做出视觉效果分析以及优化效果评估,以便打造世界杯最优动态编码模型。

  • 中超:试水极速高清服务

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

  • 英超:切量大幅推广

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

看不见的 PK:几十次服务升级和优化

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

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

我们是如何在一周内完成私有化部署的?

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

  • 升级后私有化部署目标

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

  • 升级后私有化机器部署

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

开场哨响 我们比球员还紧张

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

第一天比赛开始前,大家心里都还很紧张,之前一切的努力如果在直播开始后出现问题,那都将付之一炬。开赛后,我们紧张地盯着屏幕:各项服务指标一切正常,出流效果超出预期,播出效果对比其他平台优势明显。第一天的比赛后,我们也从客户那里获得了极高评价,外部用户的反馈也让我们心里的石头落了地。但是,比赛才刚刚开始,为期一个月的世界杯,我们也会在看不见的地方继续战斗!

本文作者:腾讯云高级产品经理 李海琦

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-06-27 16:583230

评论

发布
暂无评论
发现更多内容

翻译:《实用的Python编程》04_03_Special_methods

codists

Python

成为你向往的那只独角兽 - 《独角兽项目》出版在即

京东科技开发者

DevOps

Vue源码学习 | 4个实用的javascript技巧

devpoint

Vue vuejs stringify

算法攻关 - 重建二叉树 (O(n))_0105

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 重建二叉树

翻云覆雨——前景理论之隔离效应

Justin

心理学 28天写作 游戏设计

DDR4看这一篇就够了

Kevin Z

容器 & 服务:Kubernetes构件及Deployment操作

程序员架构进阶

Docker Kubernetes 容器 28天写作 3月日更

B端产品经理自我认知

lenka

3月日更

二十张图让你一分钟全面学习数仓建设之路

初学大数据

大数据 数据仓库

一个PHPer的Golang之路

万俊峰Kevin

php 微服务 Go 语言

Webpack 基石 tapable 揭秘

vivo互联网技术

大前端 webpack 流程管理 tapable

《精通比特币》学习笔记(第六章)

棉花糖

区块链 学习 3月日更

调整好心态

Nydia

redis工作原理(下)

Sakura

28天写作 3月日更 21天挑战

Python 关键字

HoneyMoose

熬夜重构了IDEA插件Toolkit(整合程序员常用的工具箱),更加便捷

Silently9527

Java 程序员 idea插件

第9周课后练习-性能优化三

潘涛

架构师训练营 4 期

Markdown中的图标为什么不是图片却可以以图片方式显示

happlyfox

28天写作 3月日更

手写的第一个 Java 应用程序,执行的时候发生了什么?

白色蜗牛

Java

RabbitMQ集群简介

Kylin

读书笔记 RabbitMQ 消息队列 3月日更 集群简介

(28DW-S8-Day18) 可插拔式知识

mtfelix

28天写作

垃圾代码和优质代码的区别?

xcbeyond

Java 优化代码 3月日更

密码学系列之:内容嗅探

程序那些事

加密解密 密码学 程序那些事 内容嗅探

RPA助力证券行业高质量发展

Jason Tien

微服务 RPA 金融科技 证券 自动化平台

正则表达式.05 - 匹配模式

insight

正则表达式 3月日更

CloudQuery v1.3.4 版本更新

BinTools图尔兹

oracle 运维 编辑器 sql 数据库管理工具

波场环球系统开发|波场环球软件APP开发

系统开发

2021最新腾讯面经分享:Java面试核心点/技术笔记/学习视频(春招必备)

比伯

Java 编程 程序员 架构 面试

常见 git 需求整理(持续更新中)

blueju

git 大前端 工具 npm

Elasticsearch 定制 Dynamic Mapping 策略

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

Spring Boot工程结构

韩斌

Spring Boot

央视在世界杯高清直播中占了C位 它是怎么做到的?_语言 & 开发_李海琦_InfoQ精选文章