默认
打赏 发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
专访微信视频技术负责人:微信实时视频聊天技术的演进
阅读(138393) | 评论(6 收藏8 淘帖1
微信扫一扫关注!

2012 年 7 月,微信 4.2 版本首次加入视频通话功能,面对数亿微信用户复杂多样的网络和设备环境,微信多媒体团队在每个技术环节上持续深耕细作,不断提升整体视频通话质量。


1、引言


本次专访是对谷沉沉老师在即将到来的 2017ArchSummit 全球架构师峰会上,以《数亿微信视频通话背后的视频技术二三事》为题发表演讲的一次预热。

届时,她将介绍微信视频通话的基本框架,以及在微信视频通话技术发展不同阶段的关键视频技术环节,探讨如何打造一个适合移动端视频通话的实用视频编解码器,如何适应不同网络下的传输,如何适应不同的设备和内容场景进行视频图像处理,以及如何评价海量用户的视频质量等问题。

谷沉沉在 2017ArchSummit 全球架构师峰会上的正式演讲已于20180105日整理成文,请见微信团队分享:微信每日亿次实时音视频聊天背后的技术解密》)

2、受访对象


谷沉沉:腾讯专家研究员、微信视频技术负责人。

3、专访内容


A谷老师,请向我们介绍一下微信视频通话功能的发展历程,每个阶段解决了什么问题?


谷沉沉:微信视频通话功能最早是在 2012 年 7 月的微信 4.2 版本发布的,从开始研发微信视频到现在,我觉得大致可以分为三个阶段。

第一个阶段主要是为了让视频通话在手机上“跑起来”:

在第一个微信视频通话版本发布前后的那段时间,当时的移动设备的计算能力还比较低,单核主频 1.0GHz 的手机已经算市面上比较好的手机了,所以初期的视频通话版本对技术的计算复杂度和实现优化要求非常高。我们团队凭借早期在移动端的技术积累,搭建了一个轻量的、适合移动端视频通话的框架,并通过提升视频编解码速度、视频引擎代码性能优化,解决了“跑不动”的问题,当时我们在同等设备、同等视频清晰度下所能达到的通话帧率也是处于业界领先水平的。


第二个阶段主要是设备和网络适应性提升:

随着设备处理能力不断增强,视频通话的帧率、分辨率、码率也都在不断提升,而且移动网络的带宽等服务质量等也在不断提升,同时微信海量用户的设备和网络的差距也在拉大,因此网络和设备的适配策略就变得非常重要了,这也是一个长期投入不断优化迭代的难点问题,通过这几年我们在码率控制、传输策略、容错保护等方面的持续研究,目前海量用户整体视频通话质量都有了非常明显的提升,当然很多细节策略我们现在也仍然在不断调整优化,力求为不同设备和网络下的每一位用户都提供尽可能优质的视频通话。


第三个阶段是视频压缩效率、主观质量提升:

由于设备硬件处理能力的提升,目前很多手机都是四核、八核等,这样第一阶段仅仅为了“跑得动”而设计的技术跑在这些高性能设备上,CPU 还是有富余计算能力的,所以我们开始研究加入一些复杂度较高的视频编码、图像前后处理等技术,提高压缩效率,在同等带宽下获得更高的视频质量。由于设备硬件不断升级,这类高压缩率的编码算法、高质量的图像前后处理技术研发也在持续升级,将来我们的视频通话会更加清晰、更加流畅。


A由于随着硬件设备和带宽质量的提高,用户对视频的分辨率的要求,故现在的编码器,更倾向于支持高分辨率,那对于未来,腾讯的编解码器会更倾向于解决用户的哪个痛点?或者说编解码打算往哪个技术方向发展呢?


谷沉沉:视频编码器本身都是可以支持不同分辨率的,用什么分辨率属于编码器应用策略的问题,关于视频编解码器技术本身,腾讯的视频编解码器关注的核心其实跟标准组织、做商业编解码器的公司等是一致的,都是为了获得更高的压缩效率(即同等质量下尽量降低视频码率,或者说同等视频码率下提升视频质量),同时控制编解码的计算复杂度。 当然不同应用对编解码技术的需求侧重点是不同的,比如实时视频通话有低延时、低复杂度的要求,而视频文件的离线存储应用更关心压缩效率,编码复杂度可以很高,我在 12 月份 archsummit 的分享内容里也准备了一些不同视频应用对视频技术的需求对比,到时候欢迎大家一起探讨。

A目前微信视频通话不清晰、不流畅的问题仍然不时会出现,这是什么问题造成的?为此,你们打算通过什么技术方法解决呢?


谷沉沉:由于微信视频通话面向数亿微信用户,网络环境、设备性能差异非常大,这些因素都会影响通话质量,“众口难调”——也是海量用户互联网视频通话应用的一大难点。因此我们在视频编解码、图像处理、传输容错等方面做了很多与网络状况、设备性能相适应的技术,为各种不同网络和设备的用户提供尽可能优质的音视频通话质量。最近几年我们针对弱网、中低端设备通话质量差的难点问题做了很多优化,可以为这部分用户提供基本质量的视频通话。 虽然我们会从宏观统计数据上监控和检验每次优化效果,但是不排除小部分视频质量异常的场景,所以大家如果有发现自己的网络、设备良好的情况下,微信视频通话存在不清晰、不流畅的问题,欢迎反馈给我们,帮助我们进一步完善。

A随着实时通信 RTC 技术栈快速演进,苹果宣布 Safari 11 对 WebRTC 的支持,实时了通信技术在主流浏览器端实现统一,那么微信或 QQ 现在是否已经使用了 WebRTC 组件?有这个打算吗?


谷沉沉:我们微信这边的多媒体技术团队在音视频编解码、前后处理、传输等技术上有着十多年的技术积累,因此没有使用 WebRTC。目前微信这边暂时还没有考虑过使用 WebRTC,以后要看产品应用和技术发展情况再做评估。

A您怎么看待 WebRTC 的技术发展前景?


谷沉沉:WebRTC 包含了一套完整的实时音视频应用的开源解决方案,之前我也了解到很多做音视频通信、直播等业务的团队可以基于 WebRTC 快速搭建起自己的产品应用平台,而且 WebRTC 中涉及的音视频格式和通讯协议等都是公开的、标准的,平台系统兼容性较好,未来也有利于不同产品的互联互通。
但是考虑到不同的业务应用场景,如果要把音视频服务做得更好,比如从 80 分到 90 分,甚至 100 分,应用方还是需要做很多针对性的优化来提升性能和产品体验。

(原文链接:点此进入

附录:更多实时音视频技术文章


[1] 开源实时音视频技术WebRTC的文章:
开源实时音视频技术WebRTC的现状
简述开源实时音视频技术WebRTC的优缺点
访谈WebRTC标准之父:WebRTC的过去、现在和未来
良心分享:WebRTC 零基础开发者教程(中文)[附件下载]
WebRTC实时音视频技术的整体架构介绍
新手入门:到底什么是WebRTC服务器,以及它是如何联接通话的?
WebRTC实时音视频技术基础:基本架构和协议栈
浅谈开发实时视频直播平台的技术要点
[观点] WebRTC应该选择H.264视频编码的四大理由
基于开源WebRTC开发实时音视频靠谱吗?第3方SDK有哪些?
开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用
简述实时音视频聊天中端到端加密(E2EE)的工作原理
实时通信RTC技术栈之:视频编解码
开源实时音视频技术WebRTC在Windows下的简明编译教程
网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?
>> 更多同类文章 ……

[2] 实时音视频开发的其它精华资料:
专访微信视频技术负责人:微信实时视频聊天技术的演进
即时通讯音视频开发(一):视频编解码之理论概述
即时通讯音视频开发(二):视频编解码之数字视频介绍
即时通讯音视频开发(三):视频编解码之编码基础
即时通讯音视频开发(四):视频编解码之预测技术介绍
即时通讯音视频开发(五):认识主流视频编码技术H.264
即时通讯音视频开发(六):如何开始音频编解码技术的学习
即时通讯音视频开发(七):音频基础及编码原理入门
即时通讯音视频开发(八):常见的实时语音通讯编码标准
即时通讯音视频开发(九):实时语音通讯的回音及回音消除概述
即时通讯音视频开发(十):实时语音通讯的回音消除技术详解
即时通讯音视频开发(十一):实时语音通讯丢包补偿技术详解
即时通讯音视频开发(十二):多人实时音视频聊天架构探讨
即时通讯音视频开发(十三):实时视频编码H.264的特点与优势
即时通讯音视频开发(十四):实时音视频数据传输协议介绍
即时通讯音视频开发(十五):聊聊P2P与实时音视频的应用情况
即时通讯音视频开发(十六):移动端实时音视频开发的几个建议
即时通讯音视频开发(十七):视频编码H.264、VP8的前世今生
实时语音聊天中的音频处理与编码压缩技术简述
网易视频云技术分享:音频处理与压缩技术快速入门
学习RFC3550:RTP/RTCP实时传输协议基础知识
基于RTMP数据传输协议的实时流媒体技术研究(论文全文)
声网架构师谈实时音视频云的实现难点(视频采访)
浅谈开发实时视频直播平台的技术要点
还在靠“喂喂喂”测试实时语音通话质量?本文教你科学的评测方法!
实现延迟低于500毫秒的1080P实时音视频直播的实践分享
移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡
如何用最简单的方法测试你的实时音视频方案
技术揭秘:支持百万级粉丝互动的Facebook实时视频直播
简述实时音视频聊天中端到端加密(E2EE)的工作原理
移动端实时音视频直播技术详解(一):开篇
移动端实时音视频直播技术详解(二):采集
移动端实时音视频直播技术详解(三):处理
移动端实时音视频直播技术详解(四):编码和封装
移动端实时音视频直播技术详解(五):推流和传输
移动端实时音视频直播技术详解(六):延迟优化
理论联系实际:实现一个简单地基于HTML5的实时视频直播
IM实时音视频聊天时的回声消除技术详解
浅谈实时音视频直播中直接影响用户体验的几项关键技术指标
如何优化传输机制来实现实时音视频的超低延迟?
首次披露:快手是如何做到百万观众同场看直播仍能秒开且不卡顿的?
Android直播入门实践:动手搭建一套简单的直播系统
网易云信实时视频直播在TCP数据传输层的一些优化思路
实时音视频聊天技术分享:面向不可靠网络的抗丢包编解码器
>> 更多同类文章 ……

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

本帖已收录至以下技术专辑

推荐方案
评论 6
学习了,谢谢楼主。
不错
签名: 心情好
不错
不错
签名: im从业10年以上,欢迎切磋![url=http://www.52im.net/static/image/smiley/default/handshake.gif]http://www.52im.net/static/image/smiley/default/handshake
不错
签名: read the fucking source code
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部