直播平台模型技术扫盲贴

21. 二月 2017 Other, 技术 0

直播通用环节模型

采集,前处理,推流,编码,传输,拉流,解码,渲染

  1. 采集:OBS
  2. 前处理:模糊处理,水印等 android端多媒体图形库:https://github.com/google/grafika
  3. 编码:处理硬件兼容性问题
  4. 传输:主播端到服务端 重点:参考服务器架构SRS
  5. 服务端处理:转码、分发
  6. 解码和渲染:视频的播放

流媒体服务器

常用服务器

  1. SRS:一款国人开发的优秀开源流媒体服务器系统
  2. BMS:也是一款流媒体服务器系统,但不开源,是SRS的商业版,比SRS功能更多
  3. nginx:免费开源web服务器,常用来配置流媒体服务器。有windows移植版
  4. EasyDarwin国内开源流媒体团队维护和迭代的一款开源流媒体视频平台框架

数据分发

CDN:(Content Delivery Network),即内容分发网络,将网站的内容发布到最接近用户的网络”边缘”,使用户可以就近取得所需的内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度.
代理服务器,相当于一个中介。

  1. 上传流媒体数据到服务器(源站)
  2. 源站存储流媒体数据
  3. 客户端播放流媒体,向CDN请求编码后的流媒体数据
  4. CDN的服务器响应请求,若节点上没有该流媒体数据存在,则向源站继续请求流媒体数据;若节点上已经缓存了该视频文件,则跳到第6步。
  5. 源站响应CDN的请求,将流媒体分发到相应的CDN节点上
  6. CDN将流媒体数据发送到客户端

回源:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取搜索。如果没有人访问,那么CDN节点不会主动去源站拿.

带宽:在固定的时间可传输的数据总量,比如64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s

负载均衡: 由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。

均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。

QoS(带宽管理):限制每一个组群的带宽,让有限的带宽发挥最大的效用

手机端流行直播架构:

性能调校

  1. 移动直播技术秒开优化经验
  2. QQ空间直播秒开优化实践
  3. 浅析低延迟直播协议设计:RTP/RTCP
  4. 如何实现1080P延迟低于500ms的实时超清直播传输技术

发表评论