关于RTSP-Over-HTTP

一、概述

RTSP-Over-HTTP的关键(同时也是全部内容)在于:让RTSP报文通过HTTP端口(即80端口)通信。

我们知道RTSP的标准端口是554,但是由于各种不同的防火墙等安全策略配置的原因,客户端在访问554端口时可能存在限制,从而无法正常传输RTSP报文。

但是HTTP端口(80端口)是普遍开放的,于是就有了让RTSP报文通过80端口透传的想法,即RTSP-Over-HTTP。

二、暂无标准

目前RTSP-Over-HTTP没有标准做法,苹果公司出了一份非正式文档公开在外,并且也被LIVE555等支持。

三、LIVE555的RTSP-Over-HTTP

对照着苹果公司的Tunneling QuickTime RTSP and RTP over HTTP”文档,LIVE555的具体做法如下:

首先客户端开启2个socket链接服务器HTTP端口,我们称这2个socket分别为“数据socket”和“命令socket”。

Step 1、客户端通过“数据socket”发送HTTP GET命令,请求RTSP链接。

Step 2、服务器通过“数据socket”响应HTTP GET命令,并回复成功/失败。

Step 3、客户端创建“命令socket”,并通过“命令socket”发送HTTP POST命令,建立RTSP会话。

至此,HTTP的辅助功能完成,服务器不返回客户端的HTTP POST命令。接下来是RTSP在HTTP端口上的标准流程,但是需要通过2个socket协同完成,“命令socket”只负责发送,“数据socket”只负责接受。

Step 4、客户端通过“命令socket”发送RTSP命令(BASE64编码加密)。

Step 5、服务器通过“数据socket”响应RTSP命令(明文)。

Step 6、重复Step4-Step5,直到客户端发送RTSP PLAY命令,服务器响应RTSP PLAY命令。

Step 7、服务器通过“数据socket”向客户端传输音视频数据

数据交互完毕后。。。

Step 8、客户端通过“命令socket”发送RTSP TEARDOWN命令(BASE64编码加密)

Step 9、服务器通过“数据socket”响应RTSP TEARDOWN命令(明文)。

Step 10、关闭2个socket。

四、HTTP透传现状

各个厂家的音视频服务器客户端之所以兼容RTSP协议,为的就是RTSP协议的标准通用,不同厂家的设备可以相互兼容。

如果套了一层非标准非通用的透传协议,那么各个厂家就失去了做RTSP-Over-HTTP的理由,而且他们大都有自己的私有音视频传输协议,这时候,他们往往会问这么一个问题:为什么不用自己的私有协议做HTTP透传呢?

所有,市场上另有一种透传做法就是利用私有协议通过HTTP透传,而不是RTSP,反正也解决了防火墙问题。

myRtspClient暂不支持RTSP-Over-HTTP

五、相关链接

LIVE555 RTSP-Over-HTTP透传示例:http://www.rosoo.net/a/201509/17373.html

LIVE555 RTSP-Over-HTTP透传wireshark抓包(透传端口8000):https://pan.baidu.com/s/1hrNWyna

时间: 2024-11-02 09:06:15

关于RTSP-Over-HTTP的相关文章

网络摄像机IPCamera RTSP直播播放网络/权限/音视频数据/花屏问题检测与分析助手EasyRTSPClient

前言 最近在项目中遇到一个奇怪的问题,同样的SDK调用,访问海康摄像机的RTSP流,发保活OPTIONS命令保活,一个正常,而另一个一发就会被IPC断开,先看现场截图: 图1:发OPTIONS,摄像机立马断流 图2:但在另一个程序中发OPTIONS保活包又不断流 在大部分的摄像机上,都没什么问题,单单在海康的这一款摄像机中出现了这种问题,不仔细对比命令行中的输出,根本无法确定问题点,图2中的OPTIONS报文中携带了Authorization的头字段,将认证信息都带入了进来,而图1中只是简单将用

[rtsp]海康IPC监控摄像头远程外网监控配置(DDNS)

本来这个DDNS服务正是我想要的,但是配置了之后海康提示不再提供这个服务了,以后统一使用萤石云了,看来有必要去学习下萤石开放平台的api,看都提供哪些服务. 海康威视网络摄像机出厂的默认IP地址:为192.0.0.64.需要将IPC的IP地址设置为和电脑在同一网段. 1.    使用摄像机IP地址搜索软件: 1.可以使用官方提供的专用SADP软件,下载链接如下:http://www.hikvision.com/Cn/download_more.asp?cid=140011#Menu=ChildM

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(一)概览

myRTSPClient主要可以分成3个部分: 1. RTSPClient用户接口层: 2. RTP 音视频传输解析层: 3. RTP传输层. "RTSPClient用户接口层": 包含所有myRTSPClient的外显特性,包括与RTSP服务器交互接口和音视频数据提取接口,直接供用户使用. "RTP音视频传输解析层": 用于区分不同音视频格式(H264,H265,MPA等等)RTP数据包,分离其中的音视频数据和格式数据."RTSPClient用户接口层&

流媒体传输协议系列之--RTSP协议详解

流媒体传输协议介绍 一.RTSP协议介绍 什么是rtsp? RTSP协议以客户服务器方式工作,,如:暂停/继续.后退.前进等.它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制, 因此 RTSP 又称为"因特网录像机遥控协议". RTSP(Real-Time Stream Protocol)是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似. 是TCP/IP协议体系中的一个应用层协议, 由哥伦比亚大学, 网景和RealN

(转)RTSP - RTP over TCP

Normally, RTSP provide streaming over UDP. By nature, UDP is a better choice as it provides robust streaming capability for media. However, it is unlikely to use UDP for streaming over the Internet. 通常来说,RTSP提供UDP方式发送RTP流.当然,发送流媒体时,UDP往往是更好的选择.但是,在互联

RTSP协议学习笔记

一.        RTSP协议概述 RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似. RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色.尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据.媒体数据的传送可通过RTP/RTCP等协议来完成. 一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTS

基于ffmpeg+SDL2 实现简单rtsp播放器

参考资料: 编译参考:         http://blog.chinaunix.net/uid-20718335-id-2980793.html 代码参考:         http://blog.csdn.net/leixiaohua1020/article/details/8652605 实现ffmpeg在window下编译,并基于ffmpeg动态库用测试程序播放本地文件和RTSP视频流 csdn博客插个图片怎么这么麻烦,上篇辛辛苦苦截了那么多图一上传全没了,代码里想变色结果发布了一看全

一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据

当RTSP客户端向RTSP服务端发送完PLAY命令后,RTSP服务端就会另外开启UDP端口(SDP协商定义的端口)发送RTP媒体流数据包.这些数据包之间会间隔一段时间(毫秒级)陆续被发送到RTSP客户端,此时RTSP客户端可以调用GetMediaData等接口获取媒体流数据. 一.uint8_t * RtspClient::GetMediaData(string media_type, uint8_t * buf, size_t * size, size_t max_size) 该函数的作用即获

RTSP协议详解

RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议.RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制.服 务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟.而且允许同时多个串流需求控制(Multicast),除了可以降低服务器端的

RTSP交互命令简介及过程参数描述

目录 [hide] 1 RTSP消息格式 2 简单的rtsp交互过程 3 rtsp中常用方法 3.1 OPTION 3.2 DESCRIBE 3.3 SETUP 3.4 PLAY 3.5 PAUSE 3.6 TEARDOWN 3.7 其他方法 4 sdp的格式 5 RTSP点播消息流程实例 RTSP消息格式 RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同.请求消息: 方法 URI RTSP版本 CR LF 消息头 CR LF CR L