美文网首页
简单谈谈直播的推流和传输

简单谈谈直播的推流和传输

作者: CoverUER | 来源:发表于2017-11-27 15:09 被阅读71次

    [直播技术]  Raymone原创

    在谈论直播的时候,我们经常提到RTMP、M3U8、CDN等一系列的概念,到底是些什么鬼哦?目前我们的直播也做得风生水起,成为了非常重要的业务。当同别人聊起直播的时候,掌握一些直播的基础知识,会帮助你秒(装)变(X)专(成)家(功)。

    整个直播过程主要涉及到采集、处理、编码、封装、推流、传输、解码等一系列过程,本次就重点说推流和传输的问题。

    先说推流。我们常提到的RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,是一种推送协议,同类的推送协议还有WebRTC,基于UDP的私有协议等。其中的RTMP是目前主流的流媒体传输协议,广泛用于直播领域,可以说市面上绝大多数的直播产品都采用了这个协议,当然我们也不例外。

    以上提到的三种协议有跟其他很多同类技术一样,都有各自的优缺点。我们的直播使用的RTMP协议,有一个重要的有点就是主流的CDN厂商都支持这个协议,简单理解就是这样我们的直播在世界上不同的地方观看就“更快”。但是他的缺点也比较明显,比如不支持浏览器推送。比如我们想做一个H5的活动页面,有个一推流的功能,这个咋个办呢?这个时间WebRTC就有优势了,它是基于W3C标准,主流浏览器支持度都比较高。

    下面说下传输。常用的传输协议RTMP,HLS ,HTTP-FLV(有的厂商叫HDL),下面的表帮助大家理解:

    从地址的前缀可以看出,HLS和HTTP-FLV都是基于HTTP的协议。RTMP是基于TCP。

    HLS即Http Live Streaming,是由苹果提出基于HTTP的流媒体传输协议。它有一个非常大的优点:HTML5可以直接打开播放;这个意味着可以把一个直播链接通过微信等转发分享,不需要安装任何独立的APP,有浏览器即可,很通用所以流行度很高。但是它有一个很大的弱点就是延迟高。目前已经有人提出了HLS+(流式HLS)技术,能够解决HLS延迟高的问题,至于实际效果如果,我们也在研究中。

    HTTP-FLV是一种将直播流模拟成FLV文件,通过HTTP协议进行下载的模式来实现流媒体传输的协议

    RTMP即Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。

    其实编码与封装也是一个比较有意思的问题,会直接影响整个流媒体传输的用户体验和传输成本,之后也机会再跟大家分享。

    相关文章

      网友评论

          本文标题:简单谈谈直播的推流和传输

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