Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >流视频协议

流视频协议

原创
作者头像
vanguard
修改于 2020-06-01 02:09:30
修改于 2020-06-01 02:09:30
2.4K00
代码可运行
举报
文章被收录于专栏:vanguardvanguard
运行总次数:0
代码可运行

video streaming protocol - 流视频协议是由于流式传输需要将音视频分割成小块,按顺序发送并在接收时播放

Real-Time Stream Protocol (RTSP)

可以在任一时间为用户提供最佳质量视频,不支持adaptive bitrate 码率自适应

以客户服务器方式工作,如:暂停/继续、后退、前进等。

多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,又称为“因特网录像机遥控协议”。

基于TCP/IP协议体系的一个应用层协议,RTSP在体系结构上位于RTPRTCP之上,它使用TCP或UDP完成数据传输,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。

本协议是最早的视频传输协议,可用于视频点播的会话控制,例如发起点播请求的SETUP请求,进行具体播放操作的PLAY、PAUSE请求,视频的跳转也是通过PLAY请求的参数支持的。

优点,可以控制到视频帧,因此可以承载实时性很高的应用。这个优点是相对于HTTP方式的最大优点。复杂度主要集中在服务器端,可以进行倍速播放功能,其他视频协议都无法支持。

网络延时低,一般在0.5S以内,缺点,就是服务器端的复杂度也比较高,实现起来也比较复杂。ios端不支持该协议,对移动端支持较弱。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
rtsp_url = (“rtsp:| “rtspu:)//” host [:”port”] /[abs_path]/content_name
rtsp://211.94.164.227/3.3gp RTSP/1.0

RTP 协议(媒体数据传输协议)

Rtp数据协议负责对流媒体数据进行封包并实现媒体流的实时传输,每一个RTP数据报都由头部(Header)和负载(Payload)两个部分组成,其中头部前12个字节的含义是固定的,而负载则可以是音频或者视频数据。

Rtp用到的地方就是 PLAY ,服务器往客户端传输数据用UDP协议,RTP是在传输数据的前面加了个12字节的头(描述信息)。

RTP载荷封装设计本文的网络传输是基于IP协议,所以最大传输单元(MTU)最大为1500字节,在使用IP/UDP/RTP的协议层次结构的时候,这 其中包括至少20字节的IP头,8字节的UDP头,以及12字节的RTP头。这

样,头信息至少要占用40个字节,那么RTP载荷的最大尺寸为1460字 节。以H264 为例,如果一帧数据大于1460,则需要分片打包,然后到接收端再拆包,组合成一帧数据,进行解码播放。

HTTP 协议

http的视频协议,主要是在互联网普及之后。在互联网上看视频的需求下形成的。 最初的HTTP视频协议,没有任何特别之处,就是通用的HTTP文件渐进式下载。 本质就是下载视频文件,而利用视频文件本身的特点,

就是存在头部信息,和部分视频帧数据,就完全可以解码播放了。显然这种方式需要将视频文件的头部信息放在文件的前面。有些例如faststart工具,就是专门做这个功能的。但是最为原始的状态下,视频无法进行快进或

者跳转播放到文件尚未被下载到的部分。这个时候对HTTP协议提出了range-request的要求。这个目前几乎所有HTTP的服务器都支持了。 range-request,是请求文件的部分数据,指定偏移字节数。在视频客户端解析出视

频文件的头部后,就可以判断后续视频相应的帧的位置了。或者根据码率等信息,计算相应的为位置。目前常用的基于HTTP协议的视频协议是来源有APP公司的HSL(HTTP Live Streaming)协议,其优缺点:

优点,自适应码率流播(adaptive streaming)。效果就是客户端会根据网络状况自动选择不同码率的视频流,条件允许的情况下使用高码率,网络繁忙的时候使用低码率,并且自动在二者间随意切换。这对移动设备网

络状况不稳定的情况下保障流畅播放非常有帮助。实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度自动调整。使用起来也非常简单。

缺点,实时性相对较差,直播的时候延迟比较高,通常要在10S以上;

HTTP Live Streaming (HLS)

HTTP Live Streaming 由 Apple 开发,旨在能够从 iPhone 中删除 flash,如今已成为使用最广泛的协议。

桌面浏览器、智能电视、Android、iOS 均支持 HLS。HTML5 视频播放器也原生的支持HLS,但不支持 HDS 和 RTMP。这样就可以触达更多的用户。

HLS 支持码率自适应,并且支持最新的 H.265 解编码器,同样大小的文件,H.265 编码的视频质量是 H.264 的二倍。

此前缺点一直是高延迟,WWDC 2019 发布了新的解决方案,可以将延迟从8秒降低到1至2秒。具体可以查看Introducing Low-Latency HLS。

HLS 是目前使用最广泛的协议,且功能强大。数据显示,如果视频播放过程中遇到故障,只有8%的用户会继续在当前网站观看视频。

使用广泛兼容的自适应协议(例如HLS),可以提供最佳的受众体验。

Dynamic Adaptive Streaming over HTTP (MPEG-DASH)

MPEG-DASH 是最新的协议之一。尽管未被广泛使用,但该协议有一些很大的优势。

支持码率自适应,为观众提供他们当前互联网连接速度可以支持的最佳视频质量。网络速度波动时 DASH 可以保持不间断播放。

几乎支持所有编解码器,还支持加密媒体扩展(Encrpted Media Extensions,简写EME)和媒体扩展源(Media Source Extension,简写MSE),这些扩展用于浏览器的数字版权管理标准API

如今只有一些广播公司在使用,将来或许会成为标准技术。但由于兼容性问题,这样的时刻还没有到来。

Real-Time Messaging Protocol (RTMP)

RTMP 是一个古老的协议。RMTP 最初由 Macromedia 开发,后被 Adobe 收购,至今仍被使用。

依赖 Flash 插件,正在被迅速淘汰,主要用于提取 stream。

当设置解编码器将视频发送到托管平台时,视频将使用 RTMP 协议发送到 CDN,随后使用另一种协议(通常是HLS)传递给播放器。

RTMP 协议延迟非常低,但由于需要 Flash 插件,不建议使用该协议,但流提取是例外。在流提取方便,RTMP 非常强大,且几乎得到了普遍支持。

HTTP Dynamic Streaming (HDS)

HDS 是 RTMP 的后继产品,也是依赖 Flash 的协议,但增加了码率自适应,并以高质量著称。

HDS 是延迟最低的流协议之一。但由于分段和加密操作,HDS 延迟并不如 RTMP 那样低。在流媒体体育比赛和其他重要事件中广受欢迎。

通常,不建议使用 HDS。对于任何公司而言,采用基于 flash 的技术无法吸引用户,围绕 flash 搭建播放器不是一个好主意。

Microsoft Smooth Streaming (MSS)

2008年推出,以 Microsoft 为重点的开发人员和在 Xbox 生态系统的开发人员仍在使用,除此之外已逐渐失去用户。

支持码率自适应,并且拥有强大的数字版权管理工具。

除非目标用户是 Xbox 用户,或计划只开发 Windows 平台的 app,否则,不推荐使用该协议。

原始文档

各品牌网络监控摄像头RTSP地址查询

五种常见流媒体协议

流媒体协议简介

流媒体传输协议介绍

流媒体传输协议RTP、RTCP、RTSP、RTMPS、HLS,究竟是个啥东东?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RTSP和RTMP协议有什么区别?RTSP为什么常用于安防监控摄像头行业,而视频直播却只使用RTMP推流?
RTSP(Real Time Streaming Protocol)是一种用于控制实时流媒体传输的网络协议。它允许客户端与服务器进行交互,控制流媒体的播放、暂停、停止、倒放、快进等操作。RTSP协议可以用于音频、视频等多种流媒体数据的传输。
csdn博主eguid_1
2024/01/25
5.6K0
秒懂流媒体协议 RTMP 与 RTSP
RTMP 与 RTSP 是比较常见的两种流媒体协议,那么什么是RTMP?什么是RTSP?它们两之间有什么区别?使用的时候应该如何选择?
网络技术联盟站
2022/05/24
2.7K0
秒懂流媒体协议 RTMP 与 RTSP
互联网监控直播-EasyNVR分发出RTMP、HLS、FLV视频流说明介绍
RTMP 协议为流媒体而设计,在推流中用的比较多,同时大多 CDN 厂商支持RTMP 协议。
EasyNVR
2020/04/23
1.3K0
互联网监控直播-EasyNVR分发出RTMP、HLS、FLV视频流说明介绍
直播协议的选择:RTMP vs. HLS
随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务出来都不好意思跟人打招呼。想要做一个直播业务,主要包括三个部分:采集推流端、流媒体服务端、播放端。这里不多说,就主要结合 iOS 平台,从观看端出发,介绍一下对直播协议的选择。
音视频牛哥
2019/09/19
4.2K0
腾讯视频云流媒体技术探索
  //   编者按:赛事直播场景与普通直播场景有一定差异,赛事直播场景对码率、画质、延时等性能要求更高。LiveVideoStackCon 2022 音视频技术大会上海站邀请到了腾讯专家工程师,媒体直播负责人——吴昊老师,为我们分享《腾讯视频云流媒体技术探索——赛事直播场景的技术优化》,他将介绍如何利用多路径传输、QoS控制,以及跨区调度和加速的能力,优化端到端的传输质量。在媒体处理和封装上,他将介绍通过多码率自适应、低延迟、多音轨、广告插入等技术,提升终端的播放体验,同时满足国内及海外不同场景的需求。
LiveVideoStack
2022/08/26
3.2K0
腾讯视频云流媒体技术探索
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
本文由蘑菇街前端开发工程师“三体”分享,原题“蘑菇街云端直播探索——启航篇”,有修订。
JackJiang
2022/05/31
5.3K1
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
深入浅出看流媒体前世今生,分分钟二逼变牛逼
CDN这几年爆炸式增长,带宽提速是根源,而HTTP始终还是那个屌样,因此目前CDN大多是资本性行业,不用多少知识就能干了;直到流媒体粗现,直播咋这么难搞呢?因为它是流媒体,让我带你深入浅出看流媒体前世今生,分分钟二逼变牛逼。 流媒体分为点播和直播,点播已经堕落为HTTP文件了,直播永远不可能只用HTTP就OK,这是他们的业务差异导致的。流媒体本质上是:现实的图像,经过编码器压缩,持久化为点播文件或者直播流,经过传输,在终端解码和展示。 点播为何属于HTTP而不是流媒体呢?点播,譬如电影或者录制的影像,传输
Winlin
2022/03/18
9010
流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
         Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的。 
雪影
2018/08/02
6.7K0
流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
一文说透RTMP、RTSP、RTP、HLS、MPEG-DASH
常与RTSP一起用于音视频流传输,确保媒体数据能够准确、高效地传输到目标终端并进行解码播放。
音视频牛哥
2024/09/24
7.3K0
一文说透RTMP、RTSP、RTP、HLS、MPEG-DASH
视频直播| 基础原理篇
一、直播难与易 `直播难`:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多, 视频/音频处理,图形处理, 视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。 `直播易`:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架, 就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。 二、直播相关概述 1.一个完整直播app功能 1、`聊天` 私聊、聊天室、点亮、推送、黑名单
進无尽
2018/09/12
7.3K0
视频直播| 基础原理篇
视频直播之基础原理
SDK(Software Development Kit): 软件开发工具包 CDN(Content Delivery Network):内容分发网络
全栈程序员站长
2022/09/15
3.2K0
视频直播之基础原理
RTMP的工作原理
 点击上方“LiveVideoStack”关注我们 翻译:Alex 技术审校:章琦 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 RTMP Easy-Tech #028# 什么是RTMP? RTMP(Real-Time Messaging Protocol,实时消息传输协议)是一种用于低延迟、实时音视频和数据传输的双向互联网通信协议,由Macromedia(后被Adobe收购)开发。RTMP的工作原理
LiveVideoStack
2022/05/30
1.4K0
RTMP的工作原理
(超)低延迟视频流传输的未来
 点击上方“LiveVideoStack”关注我们 作者:Anthony Dantard 翻译:Alex 技术审校:袁荣喜 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 ---- 低延迟协议 影音探索 #013# 用户对服务的期望在不断攀升,并逐渐出现了不满情绪。由于有了YouTube和Netflix这样的视频服务,我们都希望在观看点播视频时获得超快的下载时间和流畅的播放体验。可能不太明显的是,无论我们是否意识到,这种期望都正在慢慢地向实时音频通信和直播应用转移。 在api.vid
LiveVideoStack
2022/06/20
1.4K0
(超)低延迟视频流传输的未来
一文详解GB28181、RTSP、RTMP
GB28181 即 GB/T28181—2016《公共安全视频监控联网系统信息传输、交换、控制技术要求》。它是公安部提出的公共安全行业标准,在视频监控领域具有重要地位。
音视频牛哥
2024/09/24
5.3K0
一文详解GB28181、RTSP、RTMP
安防视频流媒体服务器Easy NVR搭建之DASH直播平台的搭建需要具备哪些条件?
当前,全球各大视频网站均在抛弃陈旧的Flash播放技术,转而向Dash这种新型的流媒体传输方式靠拢。比如,Youtube,Hulu,Twitch,Netflix,Xvideos,PornHub,xHamster,Tube8等视频网站平台;三星、LG、飞利浦、SONY等智能电视厂商。而且,全球最大的CDN服务提供商也已经支持Dash标准,比如Akamai CDN。
EasyNVR
2020/04/22
1.6K0
安防视频流媒体服务器Easy NVR搭建之DASH直播平台的搭建需要具备哪些条件?
流媒体及直播相关知识
本文主要讲解流媒体及其直播相关知识,所涉及的知识内容比较浅显,主要是做个简单的了解。
Gnep@97
2023/09/23
7190
流媒体及直播相关知识
(零)音视频技术基础知识
耽误了很久,一直想写音视频开发的教程,一方面,音视频的发展正在向各个行业扩展,从教育的远程授课,交通的人脸识别,医疗的远程就医等,音视频方向已经占据一个相当重要的位置,而音视频真正入门的文章又少之甚少,一个刚毕业小白可能很难切入理解,因为音视频中涉及大量理论知识,而代码的书写需要结合这些理论,所以搞懂音视频,编解码等理论知识至关重要。另一方面,公司的业务也在逐渐向音视频靠拢,我需要先将积累的知识点重新梳理后分享给其他同学。
sweet说好的幸福
2020/12/23
1.6K0
(零)音视频技术基础知识
译:构建音视频直播应用需要考虑的12件事
近期看到一篇音视频技术周刊的一篇文章《12 Things to Consider When Building a Live Streaming App》,感觉写的还不错,是Red5官网挂出来的一篇博客,对设计、构建一个流媒体平台系统有一定的参考意义。这里简单翻译一下,以飨读者。其中Red5是一个采用Java开发的Flash流媒体服务器,与之对标的有Nginx-Rtmp、SRS和FMS等。
潇湘落木
2020/11/12
1.4K0
直播技术协议介绍
目前web前端采用的直播技术一般分为以下几类:rtp/rtcp、rtmp、http-flv、hls。下面介绍不同协议
IMWeb前端团队
2019/12/03
2.6K0
直播技术协议介绍
基于RTMP数据传输协议的实时流媒体技术研究
本文来自论文《基于 RTMP 协议的流媒体技术的原理与应用》,文中研究了基于 Flash 平台的流媒体系统中使用的 RTMP 协议的原理和应用,并对网络上实时流媒体的各种传输方式的优缺点进行了分析。然后,重点分析了基于 RTMP 协议的流媒体技术的特点,并且介绍了 RTMP 协议报文的格式。最后,实现了一个基于 RTMP 协议的流媒体直播系统。
竹清
2018/08/31
2.9K0
推荐阅读
相关推荐
RTSP和RTMP协议有什么区别?RTSP为什么常用于安防监控摄像头行业,而视频直播却只使用RTMP推流?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验