我正在为rtsp工作。我想通过rtsp开发android。rtsp服务器是VLC。客户端是java。当我发送"SETUP"时,我发现"RTSP/1.0 459聚合操作不允许";
我的代码示例:
DESCRIBE rtsp://192.168.0.196:8554/test.sdp RTSP/1.0
Cseq: 2
return content:
RTSP/1.0 200 OK
Server: VLC/2.1.0
Date: Fri, 29 Nov 2013 04:14:13 GMT
Content-Type: application/sdp
Content-Base: rtsp://192.168.0.196:8554/test.sdp
Content-Length: 742
Cache-Control: no-cache
Cseq: 2
v=0
o=- 15439064194650748030 15439064194650748030 IN IP4 WIN-AF6P80LVIJ0
s=Unnamed
i=N/A
c=IN IP4 0.0.0.0
t=0 0
a=tool:vlc 2.1.0
a=recvonly
a=type:broadcast
a=charset:UTF-8
a=control:rtsp://192.168.0.196:8554/test.sdp
m=audio 0 RTP/AVP 96
b=RR:0
a=rtpmap:96 mpeg4-generic/44100/2
a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=12100000000000000000000000000000; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1;
a=control:rtsp://192.168.0.196:8554/test.sdp/trackID=0
m=video 0 RTP/AVP 96
b=RR:0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKy0A8ARPywgAAB9IAAXcAHjBlQ=,aO48sA==;
a=control:rtsp://192.168.0.196:8554/test.sdp/trackID=1
SETUP rtsp://192.168.0.196:8554/test.sdp RTSP/1.0
Cseq: 3
Transport: RTP/AVP;UNICAST;client_port=16264-16265
return content:
RTSP/1.0 459 Aggregate operation not allowed
Server: VLC/2.1.0
Date: Fri, 29 Nov 2013 04:14:19 GMT
Content-Length: 0
Cache-Control: no-cache
Cseq: 3
return error:RTSP/1.0 459 Aggregate operation not allowed
Server: VLC/2.1.0
Date: Fri, 29 Nov 2013 04:14:19 GMT
Content-Length: 0
Cache-Control: no-cache
Cseq: 3
我想解决它,谢谢!
SETUP请求用于设置一个rtp/rtcp连接对,该连接对仅用于一个流(例如视频轨道或一个音频轨道)。当您发出SETUP时,您正在指定将用于rtp和rtcp的两个端口。如果演示文稿有多个流(如您的情况),则必须为要接收的每个流发出SETUP请求,并为每个流打开两个端口。在您的情况下,媒体文件有一个音频和一个视频流,因此您必须为rtsp://192.168.0.196:8554/test.sdp/trackID=0
发出SETUP一个用于CCD_ 2trackID=X
部分是服务器返回的sdp描述中包含的"a=control:"
属性下的部分。