金沙官网线上rtsp交互命令简介及过程参数描述

今天在写html5中播放旷视C2摄像头视频监控的功能,查了很多资料,才发现Html5 <video>并不支持rtsp协议。后来查到使用第三方转码才得以实现。

Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一 种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。传输数据可以 
通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有效的方法。

这里把方法写下来分享给大家。

RTSP消息格式: 

首先要获取摄像机品牌的RTSP地址:

RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同. 
金沙官网线上,请求消息: 
方法 URI RTSP版本 CR LF 
消息头 CR LF CR LF 
消息体 CR LF 
其中方法包括OPTION回应中所有的命令,URI是接受方的地址,例如 
:rtsp://192.168.20.136 
RTSP版本一般都是 RTSP/1.0.每行后面的CR LF表示回车换行,需要接受端有相应的解 
析,最后一个消息头需要有两个CR LF 
回应消息: 
RTSP版本 状态码 解释 CR LF 
消息头 CR LF CR LF 
消息体 CR LF 
其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,200表示成功,解释是与状态码对应 
的文本解释.

如大华的是

简单的rtsp交互过程: 

     rtsp://user:pwd@ip:port/cam/ realmonitor?channel=1&subtype=0 

C表示rtsp客户端,S表示rtsp服务端 
1.C->S:OPTION request //询问S有哪些方法可用 
1.S->C:OPTION response //S回应信息中包括提供的所有可用方法 

海康的是

2.C->S:DESCRIBE request //要求得到S提供的媒体初始化描述信息 
2.S->C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp 

    rtsp://user:pwd@ip:port/MPEG-4/ch1/main/av_stream

3.C->S:SETUP request //设置会话的属性,以及传输模式,提醒S建立会 
话 
3.S->C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息 

旷视 C2

4.C->S:PLAY request //C请求播放 
4.S->C:PLAY response //S回应该请求的信息 

  rtsp://192.168.1.10/user=admin&password=&channel=1&stream=0.sdp?

S->C:发送流媒体数据 
5.C->S:TEARDOWN request //C请求关闭会话 
5.S->C:TEARDOWN response //S回应该请求 

一,通过VLC转码
1.媒体->打开网络串流,输入IPCamera的视频流地址,这个地址可以问卖摄像头的人要,或直接问厂家要,如C2的是

上述的过程是标准的、友好的rtsp流程,但实际的需求中并不一定按部就班来。 
其中第3和4步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。第五步,可以根据系统需求的设计来决定是否需要。

rtsp://192.168.1.10/user=admin&password=&channel=1&stream=0.sdp?

rtsp中常用方法: 

金沙官网线上 1

1.OPTION 
目的是得到服务器提供的可用方法: 
OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 
CSeq: 1 //每个消息都有序号来标记,第一个包通常是option请求消息 
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10) 

输完地址之后在右下角选择串流

服务器的回应信息包括提供的一些方法,例如: 
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1 
Cseq: 1 //每个回应消息的cseq数值和请求消息的cseq相对应 
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE, 
GET_PARAMETER //服务器提供的可用的方法 
2.DESCRIBE 
C向S发起DESCRIBE请求,为了得到会话描述信息(SDP): 
DESCRIBE rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 

金沙官网线上 2

CSeq: 2 
token: 
Accept: application/sdp 
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10) 

金沙官网线上 3

服务器回应一些对此会话的描述信息(sdp): 
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1 
Cseq: 2 
x-prev-url: rtsp://192.168.20.136:5000 
x-next-url: rtsp://192.168.20.136:5000 
x-Accept-Retransmit: our-retransmit 
x-Accept-Dynamic-Rate: 1 
Cache-Control: must-revalidate 
Last-Modified: Fri, 10 Nov 2006 12:34:38 GMT 
Date: Fri, 10 Nov 2006 12:34:38 GMT 
Expires: Fri, 10 Nov 2006 12:34:38 GMT 
Content-Base: rtsp://192.168.20.136:5000/xxx666/ 
Content-Length: 344 
Content-Type: application/sdp 

2.点击底下的下一步->Http,选中HTTP

v=0 //以下都是sdp信息 
o=OnewaveUServerNG 1451516402 1025358037 IN IP4 192.168.20.136 
s=/xxx666 
u=http:/// 
e=admin@ 
c=IN IP4 0.0.0.0 
t=0 0 
a=isma-compliance:1,1.0,1 

本文由金沙官网线上发布于Web前端,转载请注明出处:金沙官网线上rtsp交互命令简介及过程参数描述

您可能还会对下面的文章感兴趣: