三种主流流媒体协议比较
三种主流流媒体协议⽐较丈夫的英文>潮水时间表
⼀、介绍
在流媒体协议中,常⽤的流媒体协议主要有 HTTP协议,RTSP协议和RTMP协议。
在国内视频⽹站多采⽤HTTP+MP4或者HTTP+FLV协议传输视频,⽽国外使⽤RTMP,RTSP等专门的流媒体格式。
⼆、协议介绍
1、HTTP协议:
HTTP的视频协议,主要是在互联⽹普及之后。在互联⽹上看视频的需求下形成的。
最初的HTTP视频协议,没有任何特别之处,就是通⽤的HTTP⽂件渐进式下载。本质就是下载视频⽂件,⽽利⽤视频⽂件本⾝的特点,就是存在头部信息,和部分视频帧数据,就完全可以解码播放了。显然这种⽅式需要将视频⽂件的头部信息放在⽂件的前⾯。有些例如faststart⼯具,就是专门做这个功能的。
但是最为原始的状态下,视频⽆法进⾏快进或者跳转播放到⽂件尚未被下载到的部分。这个时候对HTTP协议提出了range-request的要求。这个⽬前⼏乎所有HTTP的服务器都⽀持了。range-request,是请求⽂件的部分数据,指定偏移字节数。在视频客户端解析出视频⽂件的头部后,就可以判断后续视频相应的帧的位置了。或者根据码率等信息,计算相应的为位置。
优点:
HTTP Live Streaming 还有⼀个巨⼤优势:⾃适应码率流播(adaptive streaming)。效果就是客户端会根据⽹络状况⾃动选择不同码率的视频流,条件允许的情况下使⽤⾼码率,⽹络繁忙的时候使⽤低码率,并且⾃动在⼆者间随意切换。这对移动设备⽹络状况不稳定的情况下保障流畅播放⾮常有帮助。实现⽅法是服务器端提供多码率视频流,并且在列表⽂件中注明,播放器根据播放进度和下载速度⾃动调整。使⽤起来也⾮常简单。
缺点:
实时性相对较差,直播的时候延迟⽐较⾼。
2、RTSP协议:
⽤于Internet上针对多媒体数据流的⼀种传输协议,是TCP/IP协议体系中的⼀个应⽤层协议,RTSP在
体系结构上位于RTP和RTCP之上,它使⽤TCP或UDP完成数据传输,该协议定义了⼀对多应⽤程序如何有效地通过IP⽹络传送多媒体数据。
本协议是最早的视频传输协议。其中RTSP协议⽤于视频点播的会话控制,例如发起点播请求的SETUP请求,进⾏具体播放操作的PLAY、PAUSE请求,视频的跳转也是通过PLAY请求的参数⽀持的。
优点:
RTSP协议族的优势,在于可以控制到视频帧,因此可以承载实时性很⾼的应⽤。这个优点是相对于HTTP⽅式的最⼤优点。H.323视频会议协议,底层⼀般采⽤RTSP协议。RTSP协议族的复杂度主要集中在服务器端,因为服务器端需要parse视频⽂件,seek到具体的视频帧,⽽且可能还需要进⾏倍速播放(就是⽼旧的DVD带的那种2倍速,4倍速播放的功能),倍速播放功能是RTSP协议独有的,其他视频协议都⽆法⽀持。
缺点:
就是服务器端的复杂度也⽐较⾼,实现起来也⽐较复杂。Ios端不⽀持该协议。
3、RTMP协议:
RTMP是Real Time Messaging Protocol(实时消息传输协议)的⾸字母缩写。RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间⾳频、视频和数据传输 开发的开放协议。该协议基于TCP,是⼀个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是⼀种设计⽤来进⾏实时数据通信的⽹络协议,主要⽤来在Flash/AIR平台和⽀持RTMP协议的流媒体/交互服务器之间进⾏⾳视频和数据通信。⽀持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
优点:
⽀持直播、点播什么是无功功率
缺点:
需要专⽤的服务器。
三、协议对⽐
关于三个RTMP,RTSP,HTTP的对⽐:
1.RTMP是adobe的,RTSP是 android native⽀持,http协议。
2.RTMP和HTTP有adaptive streaming的技术,RTSP没有
屋顶漏水3.RTSP实时性是最好的,HTTP实时性⽐较差。
4.ios不⽀持rtsp,安卓⽀持。福特新福克斯油耗
批发进货四、总结
⼀般的点播和直播,http 已经⾜够⽤了, http 服务器软件成熟,⼀般⽤免费开源软件做,没有adobe 软件的许可费⽤,使⽤的是http渐进式下载。
百度传课通过抓包分析出是⽤http协议来实现的,使⽤的是http range request(区间请求

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。