直播产品种类:
1.泛娱乐化直播
主要用于主播进行才艺展示直播、游戏直播等。比如斗鱼、虎牙等直播平台。
2.实时互动直播
主要用于音视频会议、在线教育等。其特点是多人多视频实时互动,可以与固话进行互联,对延时要求较高,一般不超过400ms。相对于泛娱乐化直播,实时互动直播技术门槛更高。
直播架构介绍:
1.泛娱乐化直播基本架构
主播端发起信令(比如创建房间、聊天、发送礼物等常见的信令)给信令服务器,信令服务器做相应的逻辑处理。CDN网络(CDN网络简介)是泛娱乐化直播架构中最重要的部分,其作用是对音视频流进行转发。
比如主播现在要创建房间进行直播,它的流程是怎么样的呢?
a.首先主播端发起一个创建房间的信令给信令服务器,信令服务器创建好房间会给主播端返回一个流媒体云的地址。
b.然后主播端开始直播(采集视频、音频)形成rtmp(实时消息传输协议)流推送到CDN网络(即将rtmp流传到信令服务器返回的流媒体云地址)。
c.此时如果某个观众想要观看该直播节目,观众端先发送一个观看直播信令到信令服务器,信令服务器会将该观众加入到这个主播的房间,并将直播流媒体云地址返回给观众端,然后观众端根据这个地址去CDN网络获取音视频流。
泛娱乐化直播基本架构
2.实时互动直播架构
泛娱乐直播使用的是CDN网络,而实时互动直播需要自己创建网络,创建网络采用的是UDP协议而不是TCP协议(原因参考TCP与UDP)。
需要自己创建网络还有个原因就是业务的需求,因为为了保证客户随时都能使用实时互动直播服务,就必须保证服务器24小时正常运转。所以一般后台服务端都采用多个节点,当其中某个节点出现问题,可以将这个节点的所有业务切换到正常节点。
所有节点都通过控制中心来管理,控制中心与节点之间通过心跳保存通信,每个节点都定期向控制中心报告其状况(比如CPU、内存占用情况、网络占用情况等等),控制中心会根据节点的状况数据进行决策,当发现某个节点CPU过高或者某个指标不达标时将其业务转到其他节点或者有新的业务时分配给其他负载更低的节点去执行,以保证每个节点负载均衡。实际上节点和控制中心之间还有个内总线,内总线的作用是保证数据的安全。
如果是对于既有试试互动直播又需要观众观看,那就需要实时互动直播架构和泛娱乐化架构进行融合。此时的泛娱乐化架构中会多出一个媒体服务器,媒体服务器主要起到转换的作用。因为实时互动直播架构采用UDP协议和RTP(实时传输协议)传输,RTP包通过内总线传到媒体服务器,媒体服务器将RTP流转换成rtmp流后传到CDN网络,然后观众就可以像泛娱乐直播那样去获取直播内容。
实时互动直播架构和泛娱乐化直播架构融合(图片来自慕课网)
网友评论