问题已开启
(普通问题)
• 请问4g资料中有信令流程分析吗? 2020-09-01
• SA场景下LNR数据业务和语音业务的策略是什么并说出数据业务信令流程,以及SA场景下速率不达标的可能原因。 2020-08-04
• L2N FASTRETURN的全信令流程,什么情况下会不上报B1事件,什么情况上报B1事件为什么还是不能返回NR ,具体终端表现现象是啥 2020-08-04
• 5G语音EPSFB的全信令流程 2020-08-04
• CDMA2000网络中如何有效控制用户的发射功率实现具体流程 2020-06-20
• 从哪里可以下载流程文件和指导书? 2020-06-16
• 爱立信MSC退网流程 2020-05-07
• 如何区分5G流程中Uplink NAS Transport的含义 2020-03-24
• SA场景下LNR数据业务和语音业务的策略是什么并说出数据业务信令流程,以及SA场景下速率不达标的可能原因。 2020-08-04
• L2N FASTRETURN的全信令流程,什么情况下会不上报B1事件,什么情况上报B1事件为什么还是不能返回NR ,具体终端表现现象是啥 2020-08-04
• 5G语音EPSFB的全信令流程 2020-08-04
• CDMA2000网络中如何有效控制用户的发射功率实现具体流程 2020-06-20
• 从哪里可以下载流程文件和指导书? 2020-06-16
• 爱立信MSC退网流程 2020-05-07
• 如何区分5G流程中Uplink NAS Transport的含义 2020-03-24
问题答案
( 1 )
rtsp交互命令简介及过程参数描述 :http://wenku.baidu.com/view/15fb4108581b6bd97f19ea16.html,请参考使用。
回答者:
xhy1331
回答时间:2011-10-26 17:48
3 2
补充1 : 简单的RTSP消息交互过程
本例测试,客户端是使用Vlc播放器,以下信息均为服务器端收到和回应的信息
//---------------------------------------------------------------------------------
第一步:查询服务器端可用方法
1客户端请求(OPTION request):---询问服务器有哪些方法可用
"OPTIONS rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 2"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
2 服务器回应(OPTION response):---回复的所有方法在Public字段
"RTSP/1.0 200 OK"
"CSeq: 2"
{"Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE"}
"" //最后这个也很重要,最后一个消息头需要有两个CR LF
第二步:得到媒体描述信息
1 客户端请求(DESCRIBE request):-----要求得到媒体描述信息
"DESCRIBE rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 3"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Accept: application/sdp"
2 服务器回应(DESCRIBE response):---回应媒体描述信息,一般是sdp信息
"RTSP/1.0 200 OK"
"CSeq: 3" //和请求的序号要对应
{"Server: RTSP Service"
"Content-Base: rtsp://192.168.1.122/TestSession"
"Content-Type: application/sdp" //表示回应的是sdp信息
"Content-Length: 367"
}
""
然后再发送生成的sdp信息,sdp信息也可以和上面的字符串组合一起发送
第三步:建立RTSP会话
1 客户端请求(SETUP request):-----通过Transport头字段列出可接受的传输选项,建立会话
"SETUP rtsp://192.168.1.122/TestSession/trackID=1 RTSP/1.0"
"CSeq: 4"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Transport: RTP/AVP;unicast;client_port=2274-2275"
2 服务器回应(SETUP response):--建立会话,通过Transport头字段返回选择的具体传输
选项,并返回建立的Session ID;
"RTSP/1.0 200 OK"
"CSeq: 4"
"Session: 68422540987712"
"Transport:RTP/AVP;unicast;source=192.168.1.122;server_port=8000-8001;client_port=
2274-2275;ssrc=3969838262"
""
第四步:请求开始传送数据
1 客户端请求(PLAY request): -----请求服务器开始发送数据
"PLAY rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 5"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Session: 68422540987712"
"Range: npt=0.000-"
2 服务器回应(PLAY response):------回应该请求的信息
"RTSP/1.0 200 OK"
"CSeq: 5"
"Session: 68422540987712"
"RTP-Info: url=rtsp://192.168.1.122/TestSession/trackID=1"
""
第五步:数据传输
服务器->客户端:发送流媒体数据, 通过RTP协议传输数据
第六步:关闭会话,退出
1 客户端请求(TEARDOWN request):---------请求关闭会话
"TEARDOWN rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 6"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Session: 68422540987712"
2 服务器回应(TEARDOWN response):
"RTSP/1.0 200 OK"
"CSeq: 6"
"Session: 68422540987712"
"Connection: Close"
""
本例测试,客户端是使用Vlc播放器,以下信息均为服务器端收到和回应的信息
//---------------------------------------------------------------------------------
第一步:查询服务器端可用方法
1客户端请求(OPTION request):---询问服务器有哪些方法可用
"OPTIONS rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 2"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
2 服务器回应(OPTION response):---回复的所有方法在Public字段
"RTSP/1.0 200 OK"
"CSeq: 2"
{"Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE"}
"" //最后这个也很重要,最后一个消息头需要有两个CR LF
第二步:得到媒体描述信息
1 客户端请求(DESCRIBE request):-----要求得到媒体描述信息
"DESCRIBE rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 3"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Accept: application/sdp"
2 服务器回应(DESCRIBE response):---回应媒体描述信息,一般是sdp信息
"RTSP/1.0 200 OK"
"CSeq: 3" //和请求的序号要对应
{"Server: RTSP Service"
"Content-Base: rtsp://192.168.1.122/TestSession"
"Content-Type: application/sdp" //表示回应的是sdp信息
"Content-Length: 367"
}
""
然后再发送生成的sdp信息,sdp信息也可以和上面的字符串组合一起发送
第三步:建立RTSP会话
1 客户端请求(SETUP request):-----通过Transport头字段列出可接受的传输选项,建立会话
"SETUP rtsp://192.168.1.122/TestSession/trackID=1 RTSP/1.0"
"CSeq: 4"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Transport: RTP/AVP;unicast;client_port=2274-2275"
2 服务器回应(SETUP response):--建立会话,通过Transport头字段返回选择的具体传输
选项,并返回建立的Session ID;
"RTSP/1.0 200 OK"
"CSeq: 4"
"Session: 68422540987712"
"Transport:RTP/AVP;unicast;source=192.168.1.122;server_port=8000-8001;client_port=
2274-2275;ssrc=3969838262"
""
第四步:请求开始传送数据
1 客户端请求(PLAY request): -----请求服务器开始发送数据
"PLAY rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 5"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Session: 68422540987712"
"Range: npt=0.000-"
2 服务器回应(PLAY response):------回应该请求的信息
"RTSP/1.0 200 OK"
"CSeq: 5"
"Session: 68422540987712"
"RTP-Info: url=rtsp://192.168.1.122/TestSession/trackID=1"
""
第五步:数据传输
服务器->客户端:发送流媒体数据, 通过RTP协议传输数据
第六步:关闭会话,退出
1 客户端请求(TEARDOWN request):---------请求关闭会话
"TEARDOWN rtsp://192.168.1.122/TestSession RTSP/1.0"
"CSeq: 6"
"User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)"
"Session: 68422540987712"
2 服务器回应(TEARDOWN response):
"RTSP/1.0 200 OK"
"CSeq: 6"
"Session: 68422540987712"
"Connection: Close"
""
xhy1331 2011-10-26 17:50
联系我们 - 问通信专家 | Powered by MSCBSC 移动通信网 © 2006 - |