设为首页 | 收藏本站欢迎来到卓越网络免费免备案CDN加速,DDoS和CC攻击防御,高防CDN管理平台!

已阅读

一对一直播的技术和实现原理

作者:cdnfine      来源:cdnfine      发布时间:2019-06-11

一场直播的直播服务比如,通过屏幕直播,你可以邀请朋友看你正在看的直播的电影,球赛,演唱会,晚会,不管是免费的还是付费的。

 

当初是将屏幕的内容,通过AirPlay或Chromecast,推送到后台服务器,然后,受邀的朋友就可以从浏览器或是其它视频播放器观看了。下面简单介绍一下一对一直播技术原理。

 

首先,视频有它的播放协议。原则上,RTSP,RTMP,HTTP都可以做直播和点播,但一般做直播用RTSP和RTMP,做点播用HTTP。我们选用的是RTMP协议。RTMP(Real Time Message Protocol/实时信息传输协议)是应用层协议,靠底层传输层协议(通常是TCP)来保证信息传输的可靠性的。

 

在TCP链接建立后,RTMP协议也要客户端和服务器通过“握手”来建立RTMP Connection,然后在Connection上传输控制信息。

 

RTMP协议传输时会对数据格式化,而实际传输的时候为了更好地实现多路复用、分包和信息的公平性,发送端会把Message划分为带有Message ID的Chunk,每个Chunk可能是一个单独的Message,也可能是Message的一部分,在接受端会根据Chunk中包含的data的长度,message id和message的长度把chunk还原成完整的Message,从而实现信息的收发。

 

我们看看两个常用的视频服务。

 

一个是由客户端向服务器发起请求推流到服务器,这个就是直播的播放服务。

 

另一个是由客户端向服务器发起请求从服务器端接受数据,可以多次调用,这就是点播服务。

 

RTMP是直播后面的协议,有很多的开源软件实现了,细节我们不再细说。下面,我们看看怎么搭建后台服务系统。直播客户端(后面我们要介绍的OBS)将实时视频推送到NGINX的RTMP模块。

 

RTMP模块会根据配置将视频流转换成HLS文件。这时,HLS文件可以使用两种模式播放。一是点播VOD模式,下载当前时间点可以获取到所有index文件和ts文件,并播放。

 

这种模式允许客户端访问全部内容,不一定是实时内容。二是Live 模式,实时生成m3u8和ts文件。它的索引文件一直处于动态变化的,播放的时候需要不断下载index文件,以获得最新生成的ts文件播放视频。一般来说,实况直播时,会有一些延时。

 

下面来看一个JS实现的HLS player,嵌入到支持HTML5的浏览器就可以播放HLS文件。基于上面描述的技术和开源系统,我们用PHP实现了一个简单的支持多用户的直播平台。用户可以注册,登录,follow/unfollow,评论,标签,收看,直播(每个用户有自己的直播密钥),等等。

 

直播的精髓都应该讨论到了,如果将系统sharding,分层,SOA化,负载均衡,cache,就可以搭建出一个可扩展的大规模的直播平台。

 

为了让更多的直播人拥有属于自己的直播平台和为每一位直播人打造一个直播梦想作为理念,现在的直播软件源码有了更多有趣新颖的功能:游戏直播间、一对一直播、短视频、私密直播间等,支持各种二次开发等等。如果您需要进军直播市场的直播平台,建议找我们专业的直播APP源码服务商为您搭建!

 

直播技术是苏宁视频云的核心服务,苏宁视频云基于领先的内容接入与分发网络,为客户提供快捷的直播接入、高清流畅、低延迟、高并发的音视频直播服务。在我们日常对接直播业务中,高昂的带宽投入一直是客户的痛点。为有效降低客户接入的负担,苏宁视频云设计了在客户内网搭建直播私有云的方案。

 

凭着十余年的自建云服务资源和技术积累,以及云服务方案在苏宁集团各产业里的深度实践,使苏宁视频云成为企业年会稳定可靠的直播平台。

 

苏宁旗下子品牌苏宁视频云已累计服务客户超过3000个;苏宁视频云凭借PPTV 十年媒体技术和服务经验,融合流媒体技术、P2P、CDN 分发、海量存储、安全策略等构建的专注视频领域的一站式SaaS 服务平台。苏宁视频云集视频云直播、云点播、云上传、云转码、云存储、云统计等功能于一体,多平台全方位支持客户各种视频场景的业务需求。

Keywords: 免费CDN加速 免备案CDN加速 高防CDN加速