RTSP协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

请求行(Request-Line) 格式
Request-Line = Method SP Request-URI SP RTSPVersion CRLF Method是请求命令 Request-URI是媒体的表示地址 格式: Request-URI = "*" | absolute_URI ; RTSP-Version是协议的版本号。 格式: RTSP-Version = "RTSP" "/" 1*DIGIT "." 1*DIGIT
实体首部(Entity Header Fields)
实体首部定义了实体主体(Entity Body)可选的信息,如果不 存在实体主体(Entity Body)则为请求(request)标识 的资源。 entity-header = Allow ; | Content-Base ; | Content-Encoding ; | Content-Language ; | Content-Length ; | Content-Location ; | Content-Type ; | Expires ; | Last-Modified ; | extension-header
常用状态码
Code 200 301 400 401 403 404 405 500 501 503 551 reason usage with RTSP methods OK all Redirect all Bad Request all Unauthorized all Forbidden all Not Found all Method Not Allowed all Internal Server Error all Not Implemented all Service Unavailable all Option not support all
OPTIONS

客户端或服务器通知对方自己能接受的选项 OPTION请求可以在任何时候发送,如客户端想要尝试一个非标准 的请求,并不影响服务器的状态 实例 C->S: OPTIONS * RTSP/1.0 UserAgent: ZTE Ltd.co RTSP protocal verion 1.0 guid172.16.8.49/169E0AED-2622-CC7B-15B1-0E4EA967CB65 CSeq: 76 S->C: RTSP/1.0 200 OK Server: ZMSS/V1.20.033E (Build/2006.06.12; Platform/Linux; Release/ZMSS; ) Cseq: 76 Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, GET_PARAMETER, SET_PARAMETER, REDIRECT, RECORD
响应首部(Response-Header)

请求报文的接收者除在状态行外,在响应首部中给出了更多关于 URI定位的服务器和媒体资源进一步的信息。包括以下几个可选字 段: response-header = Allow | Content-Type | Location | Public | Range | Retry-After | RTP-Info | Scale | Session | Server | Speed | Transport 。。。
实体主体(Entity Body)

无论是请求报文还是响应报文,其实体主体(Entity Body)都可 包括任意长度的字节序列,具体长度由Content-Length字段指定。 RTSP设计成能够传送多种媒体类型的内容。实体内容的解释可以 根据Content-type字段确定,也可以在实体内以特殊格式确定。 例如,机顶盒和ZMSS Server定义的滚动字幕接口中,实体部分 以x-Message开头,x-MessageContent表示后面的参数是滚动字 幕的参数。
Real Time Streaming Protocol (RTSP)协议
2008-05
RTSP实时流协议



RTSP协议是由RealNetwork和Netcape共同提出的。 协议定义了一对多应用程序如何有效地通过IP网络传送多媒 体数据 RTSP协议用于控制具有实时特性的数据(例如多媒体流) 的传送。 为多媒体数据流提供远程控制功能,如播放、停止、快进等。 一般与RTP/RTCP等底层协议一起协同工作 可以选择数据发送通道(如UDP、组播UDP和TCP) RTSP在语法和操作上与http/1.1 类似 RTSP连接没有绑定到传输层连接,如TCP

RTSP协议格式


RTSP是一个基于文本的协议,它使用UTF-8编码 (RFC2279)和ISO10646字符序列,采用RFC882定义的 通用格式,每个语句行由CRLF结束。 RTSP的消息包括请求和应答两类,格式如下: 请求报文 响应报文 Request-Line Status-Line *( general-header *( general-header | request-header | response-header | entity-header ) | entity-header ) CRLF CRLF [ entity-body ] [ entity-body ]
状态码
状态码是服务器试图理解和满足请求报文的结果代码,由三位数 字组成,其中第1位表示响应的分类,一共是5大类,剩余两位 并未分类: 1xx,Informational 接受请求,持续处理; 2xx,Success 成功地接受理解行为; 3xx,Redirection 为了完成请求采取进一步的措施; 4xx,Client Error 请求存在语法错误,或不能被执行; 5xx,Server Error 服务器不能执行正确的请求。 状态码是可扩展的,对RTSP应用软件来说没有必要理解全部注 册状态码的含义,但需要理解第1位表示的类别,这样就可以将 一些不能够识别的状态码等同于该类别的x00代码来对待。
SET_PARAMETER rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 421 Content-length: 160 Content-type: text/parameters
x-Message:x-MessageContent: type=0fontsize=12fontcolor=7fff0000 bgcolor=7f000000scrollcount=1scrollinterval=10 scrollspeed=2word=滚动字幕内容
如, RTSP/1.1。
请求行-方法
方法标识符号区分大小写。




method DESCRIBE ANNOUNCE GET_PARAMETER OPTIONS optional) PAUSE PLAY RECORD REDIRECT SETUP SET_PARAMETER TEARDOWN
通用首部

general-header
源自文库

Cache-Control ; Connection ; | CSeq ; | Date ; | Via ; CSeq 表示一个RTSP的请求/响应报文对 的序列号,出现在所有请求/响应报文中, 一个请求报文必须同它响应报文的CSeq一 致,任何重传的请求报文必须同原始报文 的CSeq相同。
RTSP协议格式
每种报文都由五个字段组成: 请求行(Request-Line)或状态行(Status-Line) 通用首部(General-Header) 请 求 首 部 ( Request-Header ) 或 响 应 首 部 ( ResponseHeader) 实体首部(Entity-Header) 实体主体(Entity-Body)〔可选字段〕 每一个字段从一个新的行开始,并在字段名的后面加上冒号“:” 和该字段的值。
direction C->S C->S, S->C C->S, S->C C->S, S->C C->S C->S C->S S->C C->S C->S, S->C C->S
requirement recommended optional optional required (S->C: recommended required optional optional required optional required
= |
请求首部(Require-Header)
请求首部(Require-Header)允许向服务器传送请 求行之外的以及客户端自身的一些信息,类似于程 序中方法所使用的传送参数。
request-header = Accept | Accept-Encoding | Accept-Language | Authorization | Proxy-Require | User-Agent | Range | Scale | Session | Speed | Transport 。。。
DESCRIBE



客户端通过向服务器发送请求URL,获取指定的 演示或媒体对象的描述信息 允许ACCEPT头指明客户端能理解的描述格式 DESCRIBE回复-响应对构成了RTSP的媒体初始 化阶段。
DESCRIBE实例
C->S DESCRIBE rtsp://172.16.57.15/vcdn102100/vod/000000000200000067 53.mp4?userid=26775801&clienttype=1&mediaid=000000000 3020000000054&paytype=0&time=20060824110727+08&life =3600&usersessionid=1614&vcdnid=vcdn102100&boid=008&col umnid=010000&ctype=0&Drm=0&EpgId=epg_nj_001&programi d=00000000020000006753&contname=&fathercont=&bp=0&i fpricereqsnd=1&cryptmode=0502&crypt=C5281C066A54DEB 349056152DFBA4C48 RTSP/1.0 User-Agent: ZTE Ltd.co RTSP protocal verion 1.0 guid172.16.8.49/EDE815DA-E494-2B36-2A91-7B2D52918AE7 Accept: application/sdp Accept-Charset: UTF-8 X-Accept-Authentication: Basic, NTLM, Digest CSeq: 1 x-SpeedupPlay:yes x-HopeSpeedupSecond:2
RTSP协议是应用层协议
应用层
RTSP RTP/RTCP
传输层
TCP
网络层
UDP
IP
RTSP协议的工作原理

RTSP中的所有的操作都是通过服务器和客户端的消息应答来完成 的,其消息包括请求(Request)和响应(Response)两种。 通过服务器和客户端的消息应答来完成媒体流的创建、初始化 (SETUP)、VCR控制(PLAY、PAUSE)以及拆线 (TEARDOWN)等操作的。
状态行(Status-Line)
每一个请求发出后,都能收到一个响应。响应的第 一个字段就是状态行。其格式如下:
Status-Line = RTSP-Version SP Status-Code SP ReasonPhrase CRLF



RTSP-Version是协议的版本号, Status-Code是状态码, Reason-Phrase是解释状态的简单短语。
相关文档
最新文档