一、介绍

在流媒体协议中,常用的流媒体协议主要有 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(区间请求

三种主流流媒体协议比较相关推荐

  1. 三种主流无线同屏技术介绍(Miracast、DLNA与AirPlay技术)

    不知道大家对无线同屏技术有多少了解,当这种技术普及的时候,我想我们的工作与生活又会方便很多吧!下面是目前三种主流同屏技术的介绍: 目前这种将终端信号经由WiFi传输到电视.电视盒的技术有三种:DLNA ...

  2. 虹科分享|三种主流工业以太网概述及其应用

    关于工业以太网(industrial Ethernet),你知道多少?了解它和以太网的不同之处吗?接触过的产品是否有用到工业以太网接口?它的发展趋势你注意到了吗?这篇文章,带你了解工业以太网的起源.三 ...

  3. 三种主流工业以太网概述及其应用

      关于工业以太网(industrial Ethernet),你知道多少?了解它和以太网的不同之处吗?接触过的产品是否有用到工业以太网接口?它的发展趋势你注意到了吗?这篇文章,带你了解工业以太网的起源 ...

  4. 移动GPU三种主流架构优缺点浅析

    导读: GPU是Graphic Processor Unit的简称,顾名思义就是图形处理器. GPU的概念最早是从图形工作站发展而来,从90年代的个人电脑普及开始,GPU迎来了其大发展的时代. 在90 ...

  5. 三种主流的Kubernetes部署方式

    [译者的话]本文分析介绍了三种主流的Kubernetes部署方式,为广大Kubernetes的使用者提供了很好的参考借鉴. [烧脑式Kubernetes实战训练营]本次培训理论结合实践,主要包括:Ku ...

  6. 当前java web架构形式_关于三种主流WEB架构的思考

    关于三种主流WEB架构的思考Haohappy  haohappy AT msn.com转载请注明来源: 做WEB好几年了,各种语言和技术都稍有涉猎.今天心血来潮,突然想总结一下.其实不论什么技术,什么 ...

  7. Java处理XML的三种主流技术及介绍

    Java处理XML的三种主流技术及介绍(1) 2012-08-15 10:44 顾彬/冯晨/乔彬 IBM developerWorks 我要评论(0) 字号:T | T XML (eXtensible ...

  8. 三种主流RIA技术之争,你该如何选型?

    前几天听说Adobe发布了用于Flash Player的RTMP(实时消息协议).乍一看,好像是一个不错的东东.号称有如下优点:支持高性能地把数据(主要是音频.视频)PUSH给Flash Player ...

  9. (转)认识动作捕捉系统 浅谈三种主流解决方案

    转自http://news.17173.com/content/2016-03-14/20160314102718031.shtml 目前动作捕捉系统有惯性式和光学式两大主流技术路线,而光学式又分为标 ...

最新文章

  1. 50个顶级开源营销应用程序
  2. 沃通免费SSL证书申请指南
  3. numpy 修改数据类型
  4. awk的正则表达式提取
  5. ThreadPoolExecutor线程池 + Queue队列
  6. [转]URLRewriter使用通配符
  7. 【生活科普】这7个影视剧的经典桥段,骗了我们很多年……
  8. criteria函数_干货铺 | 二级MS office考试中一些常考函数(2)
  9. 信息学奥赛一本通(1137:加密的病历单)
  10. android 组件消失了,Android 12 2.2 开发者预览版发布:修复桌面小组件消失等问题...
  11. 任意版本JLink驱动官方下载指引
  12. Android中读取图片EXIF元数据之metadata-extractor的使用
  13. vue省市区联动插件---distpicker
  14. c语言 字母常量,C语言常量的类型
  15. 微信Android客户端后台保活经验分享
  16. 创建服务器定时运行程序
  17. Untiy AVpro
  18. uAVS2 AVS2实时编码器
  19. Unity 一起看+弹幕 Socket通信
  20. 汉堡大学计算机科学,汉堡大学

热门文章

  1. matlab 锐化降噪,matlab 图形锐化 滤波
  2. [转载] Java标识符 数据类型 常量与变量
  3. 程序员简历工作模式_简历的完整形式是什么?
  4. 使用tkinter模块在Python中进行GUI编程
  5. mysql日志查询指令_MySQL查询日志总结
  6. Java IdentityHashMap values()方法与示例
  7. c printf 段错误_错误:预期声明在C中的printf之前指定
  8. 面试官 | count(1)、count(*) 、count(列名) 有什么区别?
  9. 面试官 | AJAX请求为什么不安全?
  10. 转:RMAN 备份与恢复 实例