前言
我本人其实对于直播相关业务的参与度并不高,也并不了解这些直播使用的底层技术,只是偶然进入了一次webrtc技术分享会议,发现对于直播技术的探索过程是与计算机网络相关知识息息相关的,于是就进行回看记录总结,希望能与各位分享。
正文
直播技术分类
当前市面上直播相关产品有很多种,站在使用者的角度,在使用场景上无非是1v1、1 v N、N V N。而站在技术人的角度,这些类型的产品它的技术方案却不一样。对比如下:
属性 | 单向直播 | 双向互动直播 |
---|---|---|
推拉流方式 | 单向推拉流 | 双向推拉流 |
延时 | 3-10S | 1S以内 |
网络传输协议 | RTMP+TCP | RTCP(RTP)+UDP |
### 单向推拉流(泛直播) | ||
如下图所示,为一个简单的泛直播发起端到接收端的流程,其中的每一个步骤单拿出来都有很多的技术点。编码是为了减少音视频所占用的体积,使用不同的算法对数据进行压缩;网络层面的数据传输在应用层则是使用rtmp来应对,使用cdn来提高下游拉流效率。 | ||
![]() |