听程序员GG讲直播那些事

作者: 易安公子 | 来源:发表于2017-03-12 18:14 被阅读252次

2016年,直播大火。涌现出了一个个直播产品,映客、花椒、斗鱼......嗅到了风口的气息,一些视频网站在线教育平台也开始引入直播。作为一名敬业的产品汪,虽然不负责直播业务,但也对直播颇有兴趣,幸得wuli程序员男票也从事直播相关的工作,便有幸一探直播的真相。

1、直播流示意图

直播流示意图

名词解释

直播间:视频采集端,包含一些直播设备。以在线教育直播为例,直播间是老师录制课程的地方。

源站:接受直播间传送的视频流,并进行存储和转发,由多台服务器组成。源站相对于CDN来讲,是源头,故而称之为源站。

CDN:主动向源站获取视频流,并进行存储和转发。CDN在这个直播的整个环节中扮演的角色类似于计算机存储系统中的缓存。

用户:接收CDN传送的视频流,观看直播。

2、直播间-源站的关系

(1)直播间主动向源站传输视频流,这个动作叫推流。

那么问题来了——直播间是如何确定把视频流推送到哪台服务器上?

直播间可以配置服务器对应的ip地址。比如:直播间1配置了服务器A和服务器B的IP地址,那么当直播间1产生视频流的时候,会把视频流同时传输到服务器A和服务器B上。

(2)直播间与源站之间常用的传输协议:rtmp协议,hls协议。

传输协议是什么鬼?举个不恰当的例子,传输协议相当于是翻译媒介。一个日本人,和一个俄国人,如果日本人讲日语,俄国人讲俄语,那么他们是无法沟通的。但如果他们有一门共通的语言,比如英语,在遵从英语的语言规范的前提下,他们是能够进行沟通的。传输协议就是直播间与源站之间的共通语言。

RTMP是Adobe公司的流媒体传输协议,普通网络用户均可使用,包括非IOS平台用户。

HLS是IOS平台下的流媒体传输协议。

3、用户与CDN

用户在终端进行观看直播的操作,相当于向CDN发送获取视频流的请求。

那么问题来了,用户终端发起获取视频流请求的时候,是如何确定向哪个CDN获取?

在用户发起获取视频流请求的时候,出于传输效率的考虑,用户与CDN之间有一套路由算法(这个算法一般是由CDN设定的)。比如这样一个场景,XX公司/XX产品的直播间在北京,用户在西安。当这个西安用户发起获取直播流的请求时,XX公司/XX产品在西安、上海、南京、广州、太远都有CDN,那么路由算法会告诉用户终端,该获取哪个CDN,比如获取西安CDN能够获得较高的传输速率,那么该用户的终端就会向西安CDN获取视频流。

4、CDN与源站

当用户向CDN发送获取视频流的请求之后,CDN会向对应的源站服务器获取视频流,这个动作叫做“回流”。

那么问题又来了,CDN如何知道向哪个服务器获取视频流?

用户终端向CDN请求获取视频流的时候,在传送请求的时候,会告诉CDN向哪台源站服务器获取视频流,会在传送的数据中含有所获取源站服务器的IP信息。我们通常所说的切换线路,指的就是用户在向CDN发送获取视频的请求时,更换了获取源站服务器的IP信息。

5、补充——为什么需要CDN?

解决带宽问题。用户对直播的播放流畅度、互动实时性有较高的要求。对于这样的性能要求,需要通过提高带宽来解决。如果直播服务提供者的带宽非常高,那么源站服务器的数据传送效率就大大提高,流畅度和实时性是完全能够满足的。但考虑到成本的问题,服务提供者一般会选择使用CDN,将源站服务器的数据传送到CDN,通过CDN进行存储转发。我们可以想象,如果用户直接向源站服务器请求获取视频流,会导致源站服务器压力过大,毕竟在大多场景下,直播的观看人数是比较多的,而通过CDN的存储转发可以降低源站服务器的压力。

相关文章

  • 听程序员GG讲直播那些事

    2016年,直播大火。涌现出了一个个直播产品,映客、花椒、斗鱼......嗅到了风口的气息,一些视频网站在线教育平...

  • 欢迎大雪来临

    邂逅正午 听大雁们讲 ——北方 关于雪的那些事

  • 直播那些事

    选择哪一个直播平台? 我们熟知的直播平台有 抖音 快手 西瓜 淘宝 虎牙 花椒等直播平台 游戏类:斗鱼、虎牙、战旗...

  • 直播那些事

    直播了三天,和坐过山车一样。咱也不知道我咋想的前天突然间就和同事们说我要直播讲本书,怎么会有这么大的信心呢?因为平...

  • 直播那些事

    男生打扮起来真的没有女生什么事情了,最近跟直播,发现一个宝藏反串博主,可乐加牛奶,是一个98年的小伙子,他在抖音上...

  • 听笨妈讲孩子的那些事

    最近孩子们的新学期月考已结束,随之而来的是学生、家长、以及老师们所关心的成绩。 这不高一考试刚过一天,群里的家长们...

  • 为什么练习倒立

    昨天听奇诺老师的直播,她讲的主题是倒立。在讲练习技巧之前,她问大家一个问题,你为什么要练习倒立?你为什么要练习那些...

  • 思行合一16

    一、做了什么有价值的事? 1.听古典老师讲 不确定时代的职业发展策略 2.听Tom老师红点直播 3.看了关于穿衣搭...

  • 淘宝直播那些事

    我大概是去年开始迷上了淘宝直播,具体是怎么开始的,还真是忘了。怎么开始的并不重要,那就说说这一年多我与淘宝...

  • 直播那些事2

    最近爬直播间比较多,主要是为了学习如何直播,昨晚被一个无美颜滤镜的美女主播刷了千纸鹤,虽然这个币也是从别的直播间中...

网友评论

    本文标题:听程序员GG讲直播那些事

    本文链接:https://www.haomeiwen.com/subject/wyuggttx.html