三种主流流媒体协议比较

一、介绍

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flume连接kafka_日志收集系统架构设计:(flume+zookeeper+kafka+php+mysql )

正文内容一、安装jdk二、安装flume三、安装kafka1、zookeeper2、kafka四、启动测试步骤五、目录说明六、日志收集系统设计图七、大数据参考资料推荐一、安装jdk -(版本:1.8.0_191)1.下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8…

2020班徽设计图案高中计算机,高铁工程学院举办2020级班徽设计大赛

大赛现场12月3日,高铁工程学院团总支第四届“班徽设计”大赛在GB250教室隆重举行,高铁工程学院20级新生各班参赛,20级辅导员代表出席评委席并参与评分。获奖选手领取证书本次比赛采用了线下评分及线上投票相结合的方式。比赛开始,…

Web浏览器没有Flash如何播放RTMP协议直播

各大主流浏览器在很早的时候就已声明 2020 年底不支持 Adobe Flash。所以已经线上运行的项目以及涉及直播的项目,都会涉及一个问题 : “没有 Adobe Flash 在 Web 浏览器端如何播放 RTMP 直播流?” 还好有先见之明,我参与涉及直播的…

opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf

第 20卷 第 l2期 电子设计工程 2012年 6月Vol_20 No.12 ElectronicDesignEngineering Jun.2012基于Opencv的运动 目标的检测和跟踪白瑞.姜明新(大连 民族学院信息与通信工程学院,辽宁 大连 116600)摘要 :检测运动物体需…

日照职业单招计算机专业,日照职业技术学院单招专业介绍-机电一体化技术

山东单招专业:日照职业技术学院2015年共有二十九个专业面向普高生和中专学生单招,其中机电一体化技术专业极受欢迎,每一年报考学生非常多,下面请看日照职业技术学院单招机电一体化技术专业介绍。机电一体化技术专业开设于2002年&a…

video-js RTMP直播

目前主流的几种直播协议 协议传输方式视频封装格式延时数据分段html播放httpflvhttpflv低连续可通过html5解封包播放(flv.js)rtmptcpflv tag低连续不支持dashhttpts文件高切片可通过html5解封包播放(hls.js)hls$1mp4 3gp webm高切片如果dash文件列表是mp4webm文件,…

python实现监控增量_python 日志增量抓取实现方法

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

中央处理器属于计算机外部设备吗,不属于计算机外部设备的是

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。中央处理器和主存储器都不属于外部设备。外部设备指连在计算机主机以外的设备,它一般分为输入设备、输出设备和外存储器,外部设备是计算机系统中的重要组成部…

EJB到底是什么?(通俗易懂白话文)

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务 集群"和"企业级开发&…

cesium 局部加载_Cesium自定义HTML弹窗

展示示例图:Cesium自定义HTML弹窗核心的实现思路部分:(1)cesium 的点击事件 Cesium.ScreenSpaceEventType.LEFT_CLICK 监听左键单击鼠标事件获取当前位置坐标,然后根据当前笛卡尔坐标去确认气泡窗口div的显示位置;(2)监听 cesium …

ABC334 A-F

打的很懒的一场B卡了D看不懂题卡了F没看完题目理解错题意了,状态好差XD UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334) - AtCoder A - Christmas Present 题意: 给出两个数B, G问哪个大 题解: 凑数…

小学计算机集体备课,小学信息技术集体备课.doc

小学信息技术集体备课学信息技术集体备课( 信息技术)学科教案2014年 9月 日课题月亮的味道——插入图片集体备课曹婷付欢加孜拉教材版本人教版四年级(上册)课型新授课时1教学手段计算机教学教学目标 [知识与技能]学会在word中插入图片,设置图片大小以及环绕方式。[过…

浏览器不支持flash插件之后,h5播放rtmp直播流的解决方案

文章目录背景几种视频流比较http-flv搭配flv.js播放方案rtmp与http-flv地址格式flv.js延迟问题flv.js的并发直播在线测试地址:JavaCV转封装rtsp到rtmp(无需转码,低资源消耗) 海康sdk捕获码流数据通过JavaCV推成rtmp流的实现思路(P…

华为笔记本matebook13_华为引领“第三代移动办公”新纪元 华为MateBook开启“智慧化办公”新赛道...

运营商财经网 康钊/文移动互联网的快速兴起,让办公形式不再受时间、地点的限制,笔记本电脑、平板电脑、手机等承担生产力工具作用的电子设备也是越来越多样化,“移动办公”正成为一种不断演化市场趋势。然而,随着移动…

计算机数学 考研真题及答案,北大计算机系考研历年高等数学真题附答案.docx

PAGEPAGE 10北大计算机考研 高等数学真题解答2008 年(5 题 60 分)1 (12 分) f (x) 有连续的二阶导数, f (a)  0 ,求limxa1f (x  a)  f (a)1f (a) 。2 (12 分) f (x) 在a,b上连续且 f (a)  f (b)  0 , f (a) f (b) …

IPv4地址和IPv6地址的比较,IPv6地址及其表示

IPv4地址和IPv6地址的比较,IPv6地址及其表示 TCP/IP协议是互联网发展的基石,其中IP是网络层协议,规范互联网中分组信息的交换和选路。目前采用的IPv4协议地址长度为32位,总数约43亿个IPv4地址已分配殆尽。 IPv6是IP地址的第六版…

MySQL如何有效的存储IP地址

文章目录序言工具类实现转换数据库函数实现转换一、IP地址应该怎么存二、整数存储 IP 地址的查询性能实验1、测试范围查询:2、IP精确查询:3、整理一下结果发现:总结首先就来阐明一下部分人得反问:为什么要问IP得知怎样存&#xff…

ab753变频器参数怎么拷贝到面板_变频器怎么设置参数?变频器的基本参数设定...

电工学习网:www.diangon.com技术驱动未来,关注电工学习网官方微信公众号“电工电气学习”,收获更多经验知识。变频器在工业生产中应用及其重要,其除了调速,软启动作用外,最重要的是可以节能。变频器功能参数…

卢克增加服务器,DNF卢克跨区服务器崩溃?策划:暗制造者临时加入安图恩攻坚...

原标题:DNF卢克跨区服务器崩溃?策划:暗制造者临时加入安图恩攻坚DNF作为一款即时在线,2d网络游戏,决斗场系统延伸到早期60级版本组队刷图。玩家与玩家之间互动,即时刷图跨区,成为了阿拉德大陆一…

使用TortoiseGit(小乌龟)操作分支的创建

现在的我的github库上面只有一个master分支 由于是穷屌丝用不起mac,所以我windows为例进行相应的演示: 下图就是本地使用小乌龟的版本管理工具在只有一个分支的情况下执行命令:Switch/Checkout 显示的内容。 下面分为三个步骤进行创建分支操…