Blogger Information
Blog 26
fans 0
comment 1
visits 23289
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
在线直播源码实现直播业务需要它们的帮助才行
一只可爱居的博客
Original
716 people have browsed it

对于直播业务来说,推流和传输是非常重要的部分。可能大部分人都认为,只要拥有一套优质的在线直播源码,就可以顺利进行开发和搭建等步骤了。但实际上,推流对于直播链路的影响是非常大的。如果说,推流的过程中网络十分不问题,那么不论我们怎样优化,最终开发出的app在运行过程中也会给用户带来糟糕的体验。本文主要分享开发时需要了解的几个推送协议。

1. RTMP

(1)定义

相信大家对这个协议一点都不陌生,它就是直播中最常用的实时传输协议。RTMP基于TCP是一个协议族(包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种)。RTMP是一种设计用来进行实时数据通信的网络协议,主要用于在Flash/AIR平台和支持RTMP协议的流媒体、交互服务器之间进行音视频和数据通信。

(2)优势

主要体现在CDN支持良好,大部分主流的CDN厂商都可以支持。并且协议相对简单,容易在各个平台上实现。

timg.jpg

(3)劣势

由于RTMP是基于TCP,传输成本较高。而且在弱网环境下丢包率较高的情况十分明显,不支持浏览器推送。

2.WebRTC

(1)定义

WebRTC名称源自网页即时通信,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。目前主要应用于视频会议和连麦中。

(2)优势

W3C的标准,支持主流浏览器的程度较高。底层基于SRTP和UDP,在弱网情况下优化的空间较大,能够实现点对点通信,通信时双方产生的延时较低。

(3)劣势

传统的CDN支持性较差。

3.基于UDP的私有协议

(1)简介

有的直播应用场景会使用UDP作为底层的协议,然后开发自己的私有协议。为什么呢?因为UDP在弱网环境下可以通过一些定制化的调优,从而达到较好的弱网优化效果。

timg (1).jpg

(2)优势

具备更多的空间进行定制化的优化。

(3)劣势

大家比较关心的一点就是,开发成本较高。CDN支持不太友好,需要自建CDN或者是和CDN达成协议。

其实在直播应用场景下推送出去的流媒体需要传输到用户端,这一个链路就是所谓的传输网络。如果在传输过程中出现网络拥塞的情况,就需要进行一定的智能调度,从而使得传输网络保持顺畅。所以说,拥有在线直播源码是软件开发过程中最基础的一步。要想实现直播业务,并且保证直播业务的流畅运行,在协议的选择上也要多下一番功夫。

本文声明原创,转载请注明出处。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post