当前的互联网大环境下,直播行业的稳速发展使得基于直播形式下的一对一直播也随之增速发展。由于一对一这种趋向于陌生人社交的模式广颇受年轻用户喜爱,所以一对一直播软件开发项目在整个市场中也受到了各方投资商的喜爱。虽然并不建议大家自己进行一对一直播软件开发,但是最起码的一些知识还是需要了解一下的,本文就来给大家简单分享一下。
1.RTMP 协议
即实时消息传输协议,该协议是基于TCP的协议族,其中主要包括RTMP的基本协议及RTMPT、 RTMPS、RTMPE等多种协议的变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要是用来在Flash或AIR平台,支持RTMP协议的流媒体,交互服务器之间进行音视频和数据通信,其中支持该协议的软件包括Adobe Media Server、red5、Ultrant Media Server等。RTMP是目前较为主流的流媒体传输协议,一般广泛用于直播领域,则同样适用于一对一直播软件开发中。
(1)优点:该协议在一对一直播软件开发完成后,对CDN的支持较好,市面上大部分主流的CDN服务商都支持该协议,并且该协议相对比较简单,在各平台上实现起来也比较容易。
(2)缺点:由于该协议是基于TCP的,所以传输成本相对较高一些,并在弱网环境下且丢包率高的情况下,问题比较显著,同时也不支持浏览器的推送。
2.WebRTC 协议
即一个支持网页浏览器进行实时语音对话或视频对话的API,主要应用于视频会议和连麦中。
(1)优点:主要是W3C标准,主流的浏览器支持程度较高,有Google在背后作支撑,在各平台实现比较方便。且底层基于SRTP和UDP,弱网情况下优化空间大,并且可以实现点对点的通信,在实现一对一直播软件开发时的通信延时较低。
(2)缺点:一般传统的CDN并没有提供类似的服务。
3. 基于 UDP 的私有协议
通常有的开发公司在进行一对一直播软件开发时也会选择UDP作为底层协议开发自己的私有协议,因为UDP在弱网环境下可以通过一些定制化的调优,从而达到更好的弱网优化效果,但由于是私有协议,所以也容易出现一些问题。
(1)优点:支持更多空间进行定制化优化。
(2)缺点:开发成本高并且对CDN 不友好,需要自建 CDN 或者和 CDN 达成协议。
在一对一直播软件开发过程中,关于协议的选择是非常容易被大家所忽略的,因为每一种协议所适用的情况都不相同,所以在开发一对一直播软件时是需要根据协议自身的特性进行选择的。
本文声明原创,转载请注明原文作者及出处链接。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69907981/viewspace-2652254/,如需转载,请注明出处,否则将追究法律责任。