HLS,HTTP,RTSP,RTMP协议的区别
HLS,HTTP,RTSP,RTMP协议的区别:用HTTP方式:先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频。因此在本地缓存里可以找到这个FLV。其优点就是服务器下载完这个FLV,服务器就没有消耗了,节省服务器消耗。其缺点就是FLV会缓存在客户端,对FLV的保密性不好。
是一种将直播流模拟成FLV文件,通过HTTP协议进行下载的模式来实现流媒体传输的协议,端口号80
一般建议使用HTTPFLV,实时性和RTMP相等。
优点:HTTP相比于RTMP省去了一些协议交互时间,首屏时间更短。HTTP可拓展的功能更多。用RTMP方式:通过NetConnection连接到FMS(FlashMediaServer)或Red5服务器,并实时播放服务器的FLV文件,这种方式可以任意选择视频播放点,并不象HTTP方式需要缓存完整个FLV文件到本地才可以任意选择播放点,其优点就是在本地缓存里是找不到这个FLV文件的。其优点就是FLV不会缓存在客户端,FLV的保密性好,其缺点就是消耗服务器资源,连接始终是实时的。由以上分析可知,Http方式是本地播放,而RTMP方式是服务器实时播放。
Adobe公司的流媒体传输协议,端口号1935
普通网络用户均可使用,包括非IOS平台用户,对非80端口(如1935)无限制的网络环境用户。
优点:防HTTP下载,延时短。RTSP:RTSP1。0标准的制订者没有充分预测到互联网带宽的快速增长,以及由于IPv4地址短缺导致的NAT技术的广泛使用,还有代理服务器的大量存在,它在传输可靠性和易用性上都存在一定的缺陷。虽然各家厂商都做了一定程度的修补,比如支持RTSPoverHTTP,支持NAT穿透等,但仍然于事无补。在2005之后网络视频大爆炸的几年中,RTSP1。0并没有得到youtube,hulu,土豆,优酷等视频服务提供商的青睐,相反,Adobe公司开发的私有流媒体技术RTMP以其优秀的易用性和富媒体的一体化集成,得到了多数视频服务提供商的追捧,成为了事实上的标准。
缺点:web端播放rtsp流的话,需要写插件,而且对浏览器也很挑剔,flash不支持rtsp,需要做activeX插件
目前的CDN都是基于RTMP的HLS(HttpLivingStreaming):从2010年起,苹果开始在iOS设备上支持一种叫做LiveHTTP的流媒体技术,并宣布在iOS上不会支持RTSP和Flash技术。LiveHTTP本质上跟基于HTTP的文件分段下载很接近。在带宽充裕的前提下,liveHTTP能够实现跟RTSP和RTMP同样的流媒体播放效果,同时得到了更好的易用性,更简单的控制。
在最新一代的超文本标识语言HTML5中,视频文件的点播,同样也采用了HTTP作为其承载协议。
HLS
IOS平台下的流媒体传输协议,端口号80
优点:H5浏览器支持比较好,IOS,安卓原生支持。
缺点:延迟性比较大。楼上说的切片,关键帧改变后切片时间可以缩短,而且可以自己设定首次产生多少分片。
音视频开发教学视频:【免费】FFmpegWebRTCRTMPNDKAndroid音视频流媒体高级开发学习视频教程腾讯课堂
企鹅群994289133领取资料
企鹅群994289133领取资料
目前几种视频流的简单对比:
RTMP(RealTimeMessagingProtocol)是基于TCP的,由Adobe公司为Flash播放器和服务器之间音频、视频传输开发的开放协议。HLS(HTTPLiveStreaming)是基于HTTP的,是Apple公司开放的音视频传输协议。HTTPFLV则是将RTMP封装在HTTP协议之上的,可以更好的穿透防火墙等。直播协议的选择:RTMPvs。HLS
想要做一个直播业务,主要包括三个部分:采集推流端、流媒体服务端、播放端。这里不多说,就主要结合iOS平台,从观看端出发,介绍一下对直播协议的选择。
通常在iOS平台做直播业务,会有两种协议可供选择:HLS和RMTP。HLS,是苹果公司实现的基于HTTP的流媒体传输协议,全称HTTPLiveStreaming,可支持流媒体的直播和点播,主要应用在iOS系统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案。RTMP,实时消息传输协议,RealTimeMessagingProtocol,是AdobeSystems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPTRTMPSRTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在FlashAIR平台和支持RTMP协议的流媒体交互服务器之间进行音视频和数据通信。
上面是这两种协议的简介,那它们在实际应用中会有什么差异呢?HLS
先说说HLS。HLS的基本原理就是当采集推流端将视频流推送到流媒体服务器时,服务器将收到的流信息每缓存一段时间就封包成一个新的ts文件,同时服务器会建立一个m3u8的索引文件来维护最新几个ts片段的索引。当播放端获取直播时,它是从m3u8索引文件获取最新的ts视频文件片段来播放,从而保证用户在任何时候连接进来时都会看到较新的内容,实现近似直播的体验。相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议等,HLS最大的不同在于直播客户端获取到的并不是一个完整的数据流,而是连续的、短时长的媒体文件,客户端不断的下载并播放这些小文件。这种方式的理论最小延时为一个ts文件的时长,一般情况为23个ts文件的时长。HLS的分段策略,基本上推荐是10秒一个分片,这就看出了HLS的缺点:通常HLS直播延时会达到2030s,而高延时对于需要实时互动体验的直播来说是不可接受的。HLS基于短连接HTTP,HTTP是基于TCP的,这就意味着HLS需要不断地与服务器建立连接,TCP每次建立连接时的三次握手、慢启动过程、断开连接时的四次挥手都会产生消耗。
不过HLS也有它的优点:数据通过HTTP协议传输,所以采用HLS时不用考虑防火墙或者代理的问题。使用短时长的分片文件来播放,客户端可以平滑的切换码率,以适应不同带宽条件下的播放。HLS是苹果推出的流媒体协议,在iOS平台上可以获得天然的支持,采用系统提供的AVPlayer就能直接播放,不用自己开发播放器。
RTMP
相对于HLS来说,采用RTMP协议时,从采集推流端到流媒体服务器再到播放端是一条数据流,因此在服务器不会有落地文件。这样RTMP相对来说就有这些优点:延时较小,通常为13s。基于TCP长连接,不需要多次建连。
因此业界大部分直播业务都会选择用RTMP作为流媒体协议。通常会将数据流封装成FLV通过HTTP提供出去。但是这样也有一些问题需要解决:iOS平台没有提供原生支持RTMP或HTTPFLV的播放器,这就需要开发支持相关协议的播放器。
协议差别:HLS:HTTPLiveStreaming;基于短连接HTTP;集合一段时间的数据生成ts切片文件,更新m3u8文件;延时25s。RTMP:RealTimeMessagingProtocal;基于长连接TCP;每个时刻收到的数据立即转发;延时13s。HTTPFLV:RTMPoverHTTP;基于长连接HTTP;每个时刻收到的数据立即转发,使用HTTP协议;延时13s。HTTPFLV的两种方式
目前,有两种HttpFlv的实现方式,一种是基于文件的方式,一种是基于包的方式
两种HttpFlv的相同之处在于,都是HTTP方式输出,都是FLv格式
两种HttpFlv的不同之处在于:
1、架构上,一个
基于包的架构更偏实时,基于包,基于收到包,转发包。
基于文件的架构,边写文件,边output给用户数据。
2、存储
基于包的架构,一般只使用内存,通常只缓存很少的数据,例如Gopcache(当前数据帧到上一个IDR帧)
基于文件的架构,通常会使用到存储,可以缓存7天乃至更多的数据,用来实现电视时移回看等应用。
后记:还有一种基于httpflv文件的方式也属于httpflv,但不叫hrrpflv流式直播,可以叫httpflv切片直播。
另外,基于文件方式的HTTPFLV流式直播补充以下内容:业界常见的另一种HTTP直播协议是将直播流式数据虚拟成为一个无限大的FLV(FLASHVIDEO)文件,并通过HTTP协议进行传输。客户端仅发送一次HTTPGET请求,请求中携带需要访问的直播流名,服务器返回HTTP响应,不携带消息体内容长度直接发送无限长FLV文件内容,或者使用HTTPCHUNK模式将无限长FLV文件按分段模式发送。客户端获得HTTP消息体中的FLV内容时即可播放。
HttpflvRTMP
这两个协议实际上传输数据是一样的,数据都是flv文件的tag。httpflv是一个无限大的http流的文件,相比rtmp就只能直播,而rtmp还可以推流和更多的操作。但是http有个好处,就是是以80http通信的,穿透性强,而且rtmp是非开放协议。
这两个协议是如今直播平台主选的直播方式,主要原因就是延时极低。
将测试:RTMP延迟1s左右,HTTPFLV延迟12s左右,可用于对延迟要求比较苛刻的场景,但要注意兼容性,文章最后会说明HTTPFLV兼容性。
相关视频推荐:【免费】FFmpegWebRTCRTMPNDKAndroid音视频流媒体高级开发学习视频教程腾讯课堂
SpringBoot与GraphQL集成目录GraphQL介绍SpringBoot与Graphql集成运行环境:JDK8,Maven3。0技术栈:SpringBoot2。5一、GraphQL介绍Gr……
回顾90年代的江苏句容,华阳市场东方商场老游泳池钟楼回顾90年代的江苏句容,华阳市场、东方商场、老游泳池、钟楼我们要为您介绍的这个地方叫做句容。句容位于苏南,与镇江毗邻,西部与南京相望,是江苏镇江地区的一个城市,被誉为南京……
悟空教程增加杂色和智能降噪,零基础也能轻松上手!Hello,大家好,这里是空空!又到了悟空的课堂教学了,本期我们讲解悟空特效中的增减杂色,一起来看看吧!大家都知道我们使用智能手机拍照功能拍摄出来的照片跟使用相机拍摄出来……
在linux环境中离线获取虚拟机内的文件VMware虚拟机软件是一种跨平台的虚拟机软件,支持Windows、MacOS和Linux系统,它所建立的虚拟机为vmdk格式,有时需要提取虚拟机中的文件又不方便运行虚拟机,就……
散文内心安然无恙,人生简静至美作者:子墨立春过后,似乎季节已经是春天了,但是,依旧是缺少春天的气息,而春风却徐徐而来,不慌不忙的温暖着世界。渐渐的也有了不一样的风景,当你打开窗户,会看见几丝浅绿……
春节期间,有高血脂的人饮食应该注意什么高血脂是指血液中脂质(如胆固醇和甘油三酯)水平升高的病症。脂质主要来源于饮食,但也可能由于遗传、生活方式等因素导致。高血脂是一种慢性疾病,如果不及时治疗,可能会导致心血管疾病、……
山东男篮麦克勒莫到队训练,巩晓彬重新出山,韩德君跟队恢复训练山东男篮2月5号正式官宣签下前NBA球员本麦克勒莫,官宣当天他已经抵达国内,通过体检后,将与球队汇合并开始训练。麦克勒莫今年30岁,身高1米91,体重88kg,2013年……
格尔护士医院互联网护理服务模式解决方案老有所为,老有所乐这是老年人最好的晚年生活。然而,许多老人因为脑血管疾病导致吞咽功能受到暂时或永久的损害,需要留置胃管且予以鼻饲饮食,部分患者出院后仍不能拔除胃管,需要带……
国羽开年四站斩获7金6银2月9日,据中国体育报报道,随着日前2023年泰国羽毛球大师赛落幕,开年世界羽联巡回赛四站比赛画上句号,四站比赛共计产生20个冠军归属于7个协会,国羽斩获7金6银,金牌和奖牌数……
Excel通过公式多列转成一列平常工作中,常会遇到多列数据,要合并成一列的情况。或者是多行数据合并成一行的情况。其实不管是多列变一列,或者多行变一行,方法都是差不多的。我们使用offset函数来完成这……
外星人,请摇动天上的星辰,仰望天空的人,一定会看见展信安好:我是一个双螺旋生命,我们称自己为人,在我所在的文明里,除了数量庞大却极其微小的微型生物外,几乎都是双螺旋生命。经过漫长的生命演化,现在我们开始步履蹒跚地探索着星……
废弃食材变身孩童书包参考消息网3月26日报道据共同社3月22日报道,日本零售业巨头在服装原材料中活用废弃食材。随着消费者的环保意识提升,使用环保型可持续原材料的做法在经营服装业务的零售业巨头……