2

我正在为 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

我想解决,谢谢!

4

1 回答 1

2

SETUP 请求用于设置 rtp/rtcp 连接对,专用于一个流(例如视频轨道或一个音频轨道)。当您发出 SETUP 时,您指定了两个将用于 rtp 和 rtcp 的端口。如果演示文稿有多个流(如您的情况),您必须为要接收的每个流发出 SETUP 请求,并为每个流打开两个端口。在您的情况下,媒体文件具有一个音频和一个视频流,因此您必须发出一个 SETUP forrtsp://192.168.0.196:8554/test.sdp/trackID=0 和一个 for部分是服务器返回的 sdp 描述中包含的部分,在rtsp://192.168.0.196:8554/test.sdp/trackID=1. 属性下。trackID=X"a=control:"

于 2013-12-30T14:35:07.690 回答