web 3.0 基础设施、数据驱动决策、核心系统数字化转型……戳此了解qcon广州站专题方向
写点什么

网易视频云:从处理流程到细节优化,解读点播直播背后的技术-金马国际

  • 2016 年 12 月 08 日
  • 本文字数:4043 字

    阅读完需:约 13 分钟

编者按

2016 年被视为直播元年,根据相关数字显示,目前中国互联网约有二百多款直播 app 和四百多家直播平台。其实,视频编码的研究由来已久,互联网规模化的视频服务也已经十余年。在 vimeo 和 youtube 正式成立前,最早的视频网络服务雏形可以追溯到 1997 年的一个网站。

网易第一个产品广为熟知是 2010 年的“全球名校视频公开课栏目”,首批上线有 1200 集课程,网易称其视频的技术积累已有十五年;如今,网易向外推出了视频云服务,支持点播和直播两种模式,其中直播又分为单向直播和互动直播。那么,网易视频云背后的技术沉淀是怎样的?除了传统的点播,如何应对新时代的直播业务?如何应对移动互联网等技术背景环境的变化?又怎样看待 vr、ar 浪潮对视频界的冲击?带着这些问题,infoq 采访了网易杭州研究院视频技术专家郭再荣先生,本文整理自采访内容。

嘉宾简介

郭再荣,网易杭州研究院视频技术专家,武汉大学通信专业硕士。十年音视频行业开发经验,从事视频编解码算法研发。在网易负责带领网易视频云音视频技术研发团队,主导音视频转码系统、实时视频通话引擎、流媒体服务器和网易视频云平台的研发工作。擅长音视频编解码器、视频加密、视频点播、互动直播服务的开发。

互联网视频产品始于六年前

在视频技术方面,网易最早开发视频点播服务、播放器、后台转码工具,主要用于网易系内部产品,比如网易门户网站视频、公开课、云音乐等产品,属于产品内部研发团队。后来随着需求的逐步增大,我们逐渐把把这些公共技术提取出来,整合成通用的平台工具,并服务于网易有视频需求的产品。

在视频转码系统的开发方面,前期我们已经累积了丰富的经验,经过不断的改进优化,已经逐渐形成了一套分布式转码集群:支持同步和异步的转码任务,负责多媒体数据的处理,这目前已经成为视频云产品的核心底层系统。同时,在提供视频点播服务中累积了丰富的流媒体分发网络方面的经验,包括中心调度策略、分发节点的选择、节点的加速传输方面的优化等,这套系统就是现在视频云产品的 cdn 分发网络的前身。

视频的处理流程及架构总览

通常而言,按时间的横向视频处理流程,一个视频从在客户端上传,到最后播放在另外一个播放器中,经历的流程如下:

视频的构架主要包括音视频采集、预处理、编码、传输、服务端处理、解码等步骤。

网易视频云视频处理包括推流端的预处理,服务端转码处理,播放器端的后处理几个部分,如下图所示。

点播 vs 直播的流处理

我们网易视频云目前为需求者提供点播和直播服务,同时包含互动直播服务,也提供视频转码和视频处理服务。对于视频云平台来说,拥有庞大的流媒体分发网络、强大的转码系统、海量分布式存储服务、功能完善的全平台 sdk 包非常重要。

在点播和直播的异同点上,我们通过如下构架图来表示,其实主要区别是视频源的生产方式不同,流媒体分发网络是一样,播放器端是一样,另外点播需要存储系统,而转码两者都可以有,具体要看各自的应用场景。

算法、硬件和网络三个维度

首先,网易视频云对音视频算法进行了深度优化。对于互联网视频,最重要的就是在保证视频同等质量的情况下,进行码率压缩。这样,在网络不佳时,尽量保证流畅;在网络抖动时,减少对播放带来的影响。除了压缩之外,对于近来兴起的直播业务,还需要对视频预处理。

在对音视频数据压缩编码时,要进行一些预处理,同时编码算法上尽量保证码率平滑。先来谈谈对于音频处理:从麦克风采集的音频,一般是 pcm 格式,视频从摄像头抓取图像,也可以抓取屏幕图片,一般是 yuv 格式。而采集到的原始音视频体积非常大的,需要经过压缩技术处理来提高传输效率。当有混音需求时,也可以通过采集声卡的音频数据,然后再跟麦克风的声音进行混音。对于采集的音频一般先要进行降噪处理,因为在户外环境下,噪声会比较明显。如果涉及到互动直播,在双向通话的情况下,还需要对音频进行回声抑制处理,防止出现回声效果。

再谈谈图像处理,对于直播业务:我们对于采集的图像会进行特效滤镜处理,比如黑白、黄昏、提亮、美颜等,但是这些处理非常耗费性能,一般都需要用 opengl es 来实现,同时也可以进行图像叠加,比如给主播加个帽子,或者为了保护金马国际的版权,加个水印图片。在播放器显示的时候也可以在头像上做一些处理,比如全屏的时候图像拉伸、填黑边、裁剪,也可加上走马灯,进行金马国际的版权保护。再举例说明,比如在实时监控的场景中,要实现对于局部画面的实时放大;相对于直播中的预处理,这类操作属于后处理范畴。算法层面的加工主要有三点:预处理、后处理和编码。

其次,在硬件上面,客户端是依赖于用户已有的设备,我们的发力点是在服务器端。网易视频云有分布式转码集群,并采用软件和硬件结合的转码方式,对应到芯片依赖类别上则是 cpu 和 gpu,权衡两者结合使用:对于大并发的任务,利用 cpu 资源进行软件转码模式;而对于高实时性要求的任务就利用 gpu 资源进行硬件转码模式,特别是对于高清视频的转码,能达到更快的转码速度。结合直播应用而言,虽然依靠 cpu 计算的软件转码可以实时得到结果,但是这会造成资源的浪费。

另外,视频云自建流媒体分发网络,在全国部署了接流源站和分发节点,资源节点数量达到 500 个以上,并利用自有的智能调度系统,保证直播的流畅性;同时网易也自建了海外专线,保证海外数据流回到国内时走专门优化的链路,确保流畅度。

应对移动网络干扰

不管是直播还是点播服务,都存在一个端到端的数据传输链路问题。我们采用智能调度策略来解决这个问题,就是根据客户端的网络类型、地域、出口 ip 等信息,选择最优节点给客户端。最优节点的方案有两种:

  • 一种是根据客户端的 dns 域名来选择就近的节点,当 dns 配置有误的时候,可能会存在调度不准的问题。

  • 另外一种是根据客户端的出口 ip 来选择节点,这种调度方式会比较准确一些。同样对于播放器端也是采用类似的方式来选择流媒体服务器集群的边缘节点,另外也可以用 http 302 跳转的方式来优化播放链路。

具体对应到两种播放模式的处理上:

对于点播来说,可以对同一个视频源部署多条流,即不同分辨率和码率的视频源,这样用户在观看的时候可以切换选择。

对于直播来说,视频云也提供实时转码功能,可以转码出多条不同分辨率和码率的直播流,这样用户在观看的时候可以切换选择。

视频界的发展历程及未来挑战

音视频编码既要尽可能地对文件压缩,同时又追求最高的音频和图像质量,还要能有更少的计算量,这三个目的指标是相互矛盾的。

从事视频编码近十年,在我看来:音视频编码标准正变得越来越复杂,能达到的音频和图像的质量也更好,压缩率也有较大提高,但是对应的算法计算量也越来越大,比如目前发展势头很猛的 h.265 标准。这一切的发展都是基于硬件设备性能越来越强大,可以承受更多的计算量。现在的手机 cpu 都能做 2k 的实时编码;若采用专有硬件编码芯片,那么性能就会更好。编码标准发展了,同等编码质量下的码率降低了,特别对于网络视频服务来说,用户观看视频更加流畅清晰了,企业的带宽成本也降低了。

在直播快速发展的同时,vr、ar 已经非常火爆,结合两者也是将来视频发展的趋势。但是在我看来,视频 vr 直播目前还有几大难点:包括采集设备、图像拼接算法、视频编码器、画面显示设备等。而目前的 vr 技术是从实验室刚开始转入应用的阶段,很多地方不完善,尤其是体验效果不佳、会让人感觉晕眩。此外,如果想要实际应用到网络视频,必须过了传输这关。vr 视频的分辨率非常高,至少 2k 以上,否则效果会比较差。多幅图像拼接之后,编码的码率就会非常高,一般在 10mb 以上,互联网的传输也会有问题。因此,现在最多的也是一些离线的 vr 展示。另外,现在优质的采集和显示设备也比较贵,还达不到平民级的消费。目前还是在发展中,当然这是视频将来的方向。

其他问答

infoq:目前网易视频云对h.265 编码技术的研发是处于什么阶段?

郭再荣:h.265 的编码的研发目前仅限于内部,自编自解是没有问题的。但是 h.265 的解码技术在业内还没有普及,对于 web 播放器或者第三方播放器很可能无法播放。

不过 h.265 肯定是将来的趋势, 因为在画面越来越清晰之后,对于编码会造成很大的压力,同时带宽的需求压力也会上升。举例说明,如果使用 h264 编码需要至少 1.5m,使用 h.265 编码预计 1m 左右即可达到同样的效果。

infoq:用户是否可以在不同端之间切换观看?如果是的话,怎样做到内容的播放点的同步?

郭再荣:播放点的同步需要用 pts 来做,首先切换流的时候,播放器要记住前一次的播放点的 pts,然后再往前几秒发送切换流的 seek 请求,服务器会从一个关键帧开始发送数据,播放器定位到前一个 pts 点,再开始播放,这样就可以做到同步。原理就是同一个视频源的多条流的 pts 是一致的。

infoq:网易视频云进行了 webrtc 协议框架的全方位支持。可否从技术角度分析下,什么样的直播场景中比较适合采用 webrtc?

郭再荣:这里需要提及下我们的两种直播方式:单向直播、互动直播。我们首先完善了实时视频通讯系统,支持单向直播,在其基础上扩展多路混屏,旁路直播等功能。webrtc 技术推荐适用于互动直播的场景。单向直播其实也可以采用 webrtc 技术;不过一般而言,基于 rtp 传输技术能够保证更好的流畅度,特别是在网络环境比较差、丢包相对严重的情况下。而互动直播对低延时要求比较高,要实现多人通话,肯定是需要 webrtc 技术,因为传统的 rtmp 直播技术,延时比较大。想利用浏览器直接进行实时音视频通信,或者进行直播服务,必须要采用 webrtc 技术,这是他最大的一个优点,而且无需安装任何插件。

infoq:视频处理、图像处理中多大程度地应用了机器学习?对视频分类和实时监控中有多少人工参与的环节?

郭再荣:目前视频云已经接入网易易盾产品,在视频直播同时进行实时鉴黄,这个服务就是应用了机器学习:先对视频流进行截图,然后对图像进行智能分析以判断是否有违规内容,再上报到实时监控平台,最后经过人工审核,确保不会遗漏任何的违规行为。视频分类一般都是人工处理,是用户根据自身产品进行分类,而实时监控一般最后一关是人工审核,但占比重比较少。

2016 年 12 月 08 日 18:00113671

发布了 58 篇内容, 共 39.8 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
  • 吴岷是土豆网基础系统开发总监,在土豆长期负责视频上传、转码、cdn、点播、直播等系统的开发和维护。在全球架构师峰会期间,我们有幸采访了他,针对视频cdn分发、调度与服务方面的内容进行了交流。

  • 5g是我们非常关注的通信技术,它蕴含着巨大的产业机会。

    2021 年 1 月 8 日

  • 本次分享介绍 mpeg-dash 相关知识及 web mpeg-dash 播放器实践优化及未来展望。

  • 我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。

  • 无论视频流量的持续增长还是云游戏的商业化,当前都正面临着一个历史性风口浪尖,即5g。

  • 有人说2017年是webrtc的转折之年,2018年将是webrtc的爆发之年。去年,webrtc 1.0标准草案出炉,并将于今年正式发布。与此同时,越来越多的浏览器和厂商都开始对它进行广泛的支持,webrtc即将成为互联网的基础设施了。

  • 本文作者李明杰讲述了如何来对基于互联网架构的流媒体服务进行设计以更好的满足千万级别用户访问行为和视频播放需求,他将会在中做关于相关的分享。

  • 腾讯会议系统中,视频质量是影响用户体验的主要因素,对视频质量进行评估和优化是吸引和留住用户的关键。在开发腾讯会议质量评估系统的过程中,有哪些技术难点和相应的金马国际的解决方案?

  • 当我们在说大数据技术的时候,说的可能是几种差别很大的技术。那么,这些技术都是什么呢?

    2020 年 2 月 5 日

  • 一个直播系统里有哪些组成部分?分别都使用了哪些协议?

    2018 年 6 月 22 日

  • 2019年9月7日,腾讯技术开放日·5g多媒体专场在腾讯滨海大厦完美落幕。来自腾讯多媒体实验室的专家们给大家带来了关于5g技术和标准的精彩分享,揭开了许多关于5g的谜团。

  • 音视频产品需要关注哪些质量控制点,如何评估音视频质量?

  • 本文从直播背景、直播痛点分析、窄带高清、云视频技术趋势几方面为大家详细介绍如何在确保用户体验qos不变的前提下,实现淘宝直播的技术架构升级和成本大幅缩减。

  • 沉浸式课堂教学对直播的实时性和互动性要求越来越高,传统的基于 rtmp 的直播技术已无法满足这一诉求。

  • 5g 时代来临在即,视频技术将会如何发展呢?基于视频云服务的技术开发又有怎样的变化呢?

  • 5g可以跟那么多前沿技术结合,实现很多新的应用,背后有怎么样的技术底座做支撑呢?

    2021 年 6 月 30 日

  • http的性能优化中,都有哪些具体措施呢?

    2019 年 8 月 28 日

  • 更高的色深、更广的动态范围和更强的色彩表现力。

  • 接入网络的技术,也就是通信技术,是你在做物联网设备设计时需要重点关注的。这一讲,我会介绍几种最重要的无线通信技术的特性。

    2020 年 11 月 11 日

发现更多内容
网站地图