框架二:RTSP消息格式

2020-09-12  本文已影响0人  Wonton_skin

1、请求消息 Request

1.1、首行请求行 Request-Line

1.2、请求消息头(general-header | request-header | entity-header)

1.2.1、认证字段 Authorization
        rtsp认证方式有两种,基本认证和摘要认证。

1.2.1.1、基本认证 (basic authentication)
        基本认证方式如下所示,详情请参考 rfc 2068 第 11.1 章节。

        basic-cookie = base64(username + ":" + password)

1.2.1.2、摘要认证 digest authentication

        摘要认证方式如下所示,详情请参考 rfc 2069 中描述。

hs1 := md5hash(username + ":" + realm + ":" + password)
hs2 := md5hash(method + ":" + requestUri)
response := md5hash(hs1 + ":" + nonce + ":" + hs2)

username:用户名
password: 密码
realm: 通常一个 server 对应一个 realm
method:请求方法(OPTIONS/DESCRIBE/SETUP/PLAY)
requestUri: 请求的 uri
nonce: 随机字符串,通常一个 session 对应一个 nonce

1.2.2、传输模式 Transport

传输模式格式:
transport-protocol/profile[/lower-transport] * parameter

UDP传输模式(默认):
C->  Transport: RTP/AVP;unicast;client_port=52178-52179
S->  Transport: RTP/AVP;unicast;client_port=52178-52179;server_port=2000-2001

TCP交织传输模式:
视频->  Transport: RTP/AVP/TCP;unicast;interleaved=0-1
音频->  Transport: RTP/AVP/TCP;unicast;interleaved=2-3

TCP非交织传输模式:

HTTP传输模式(隧道模式):

1.3、消息体 [message-body]

        此为可选字段,具体详情需参考 rfc2068(http) 第 4.3 章节。

2、响应消息Response

2.1、首行响应状态行 Request-Line

2.2、响应消息头(general-header | response-header | entity-header)

2.2.1、Content-Type 字段

格式如下,具体详情需参考rfc2068(http) 第 3.7 章节 。
Content-Type = "Content-Type" ":" media-type
media-type = type "/" subtype * ( ";" parameter )

举例:
Content-Type: application/sdp

2.3、消息体 [message-body]

        此为可选字段,具体详情需参考 rfc2068(http) 第 4.3 章节。

上一篇下一篇

猜你喜欢

热点阅读