12月23日开源中国源创会召开,会上图鸭科技宣布免费开源视频通信VoIP系统,开源部分为服务器源代码及其客户端网络模块代码, VoIP SDK 也将免费给大家使用。
在会议上,武俊敏详细介绍了目前视频通信行业的情况以及图鸭可实现的技术指标。
目前图鸭视频通信技术指标:
- P2P穿透达70%
- 支持手机8路通话
- 支持Windows/iOS/Mac/Android等多平台适配
- 可实现X264/X265无缝切换,助企业节省20%的带宽成本
那么我们是如何做到的呢?
无图无真相,先给大家奉上一张独家的视频传输架构图:
从上图可以看出,我们选择了UDP协议。很多开发者都曾纠结过:是使用TCP还是UDP呢?TCP协议从传输角度而言更可靠,但是延时较高;UDP协议的延时较低,但存在另一个致命点,一旦发生丢包的情况UDP协议就很难实现数据恢复。简言之,TCP协议可靠但延时高,UDP协议延时低但不可靠。
可是我们在处理音视频通讯时却选择了UDP协议!那么问题来了,我们是怎么解决UDP协议不可靠的呢?
一:实时监测内容发布方的网络情况,包括网络的丢包、速度和抖动情况等。将这些信息反馈到编解码器。
- 如果发生丢包: 立即发送冗余包,通过校验的方式尽可能恢复数据;
- 采用长期参考帧,相比其他软件参考前一帧的做法,其可以解决丢包时观看者视频连贯性的问题,使视频在内容上更流畅;
- 根据丢包率调整纠错强度
二、如果发生网络抖动:立即做出响应、瞬间降低码率,保证视频不卡顿
也就是说,尽可能恢复丢包数据、保持视频内容上的连贯性、时刻保证传输数据小于网络带宽。除此之外我们有整套的自动学习机制,其中包括:专有的网络协议、压缩控制等机制,进一步保证视频的流畅度。
对我们产品感兴趣的朋友,直接到图鸭官网 (www.tucodec.com)下载相关文档和 VoIP SDK。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。