腾讯视频会议真实内部实现分享

音视频爆发

2020年到2021年,可以说是音视频技术迅猛发展的一年。除了直播外,还有一种不得不提到的新趋势,就是“云会议”场景。云会议凭借其便捷、高效、低成本的优势,越来越常见于我们的生活当中。

基于音视频的会议能在短时间内大肆兴起和爆发,不仅得益于强大的通信技术,更依托于刚性的市场需求。我们可以发现,由于疫情的隔离政策,云会议成为了企业员工之间以及校园和学生之前最直接的沟通工具。

所以咱们一定要理解视频会议实现的原理和思路,在以后求职中给我们加分


视频会议中实现的思路

  1. 小王将摄像头捕获的数据进行编码  编码输出成H264视频数据

  2. 小王通过p2p点对点的方式将H264数据推送给小李 与 小张

  3. 小李此时能够接受小王的H264视频数据,此时小李解码器开始工作,解码成画面并显示

  4. 小李和小张 分别重复 小王的步骤,给会议室每个人,发送自己的数据给其他人

这样就完成了视频会议


完成视频会议难点在哪里

  1. 编码出来的数据流(视频配置信息,I 帧 B帧 P帧)发送出去时 对方怎么才能正确解析

  2. 网络模型中只有点对点模型和C/S模型,但是没有多对多模型

  3. 当小王在内网时,会议室的其他人在公网,其他人怎么样才能将数据发送给处于内网的小张

小张与小王通信是,网络可能出现丢帧,假设丢的视频配置帧话(sps和pps帧),对方就算收到视频流时也没办法解析

因为视频配置帧含有宽高,此时没有宽高是没有办法解析出画面,而视频配置帧 只在编码器初始化才会输出

怎么避免因网络丢包造成视频帧丢失呢?

答案是 通过冗余设计,编码端重复在每一个I帧前发送视频配置帧  

多对多网络模型怎么解决呢?

Socket通信是C/S模型(1对N模型),而音视频会议室多对多模型,怎么让Socket能够实现多对多模型

  1. 每个客户端都有一个服务端(SocketServer)和N个客户端(SocketClient)

  2. 小王的有N个SocketClient 分别于小李和小王链接

  3. 小王的视频画面通过N个SocketClient 推送给会议室其他人

  4. 小王收到 会议室其他人的数据 通过SocketServer 接受,并显示到UI上

多对多网络通信模式就此完成

p2p通信怎么实现呢?

可以看下下面的直播内容,课程中有详细分析p2p的实现原理

为了帮助大家更快更好的学习音视频开发技术,我特别邀请了前华为、OPPO 、阿里资深架构师 David,为大家带来《Webrtc多对多视频会议实战系列直播分享,在这里给大家准备了一场干货十足的音视频学习之旅,将带大家从H265编码原理入手,从零手写H265多对多视频会议项目。

原价298元《Webrtc多对多视频会议实战》,现在限时优惠只需要0.1元即可加入学习(限量100个名额

大家手速要快,赶紧识别下方图中二维码加入学习!

报名学习后还将附赠一套系统的开发进阶资料,帮助大家在技术的道路上更进一步。

赶紧扫码报名领取资料,开启你的学习之旅

扫码添加时记得备注:"音视频"快速通过)

【如遇扫码频繁+VX:mm1591314250】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值