请教通过rtsp协议与vlc播放器交互的问题

xinling101 2009-06-23 03:32:24
写了一个简单的rtsp协议,下面是我的程序与vlc播放器的交互过程。蓝色的是vlc播放器发送的内容,红色的是我回应的内容。但奇怪的是,vlc播放器在发出了setup数据包后,随即关闭了TCP连接,之后我再发setup的应答vlc当然就没有反应了。难道是我发的describe数据包的sdp内容有问题?请教各位高手,先谢谢了!

OPTIONS rtsp://192.168.1.191 RTSP/1.0
CSeq: 1
User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24)


RTSP/1.0 200 OK
Server: rtsp_yxm_0.9
Cseq: 1
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY


DESCRIBE rtsp://192.168.1.191 RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24)


RTSP/1.0 200 OK
Server: rtsp_yxm_0.9
Cseq: 2
x-prev-url: rtsp://192.168.1.191
x-next-url: rtsp://192.168.1.191
x-Accept-Retransmit: our-retransmit
x-Accept-Dynamic-Rate: 1
Cache-Control: must-revalidate
Last-Modified: Fri, 10 Nov 2006 12:34:38 GMT
Date: Fri, 10 Nov 2006 12:34:38 GMT
Expires: Fri, 10 Nov 2006 12:34:38 GMT
Content-Base: rtsp://192.168.1.191/
Content-Length: 248
Content-Type: application/sdp

v=0
o=OnewaveUServerNG 1451516402 1025358037 IN IP4 192.168.1.191
s=VStream Live
c=IN IP4 0.0.0.0
t=0 0
a=type:broadcast
a=range:npt=0-
m=video 6666 RTP/AVP 99
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42A01E; packetization-mode=1
a=control:trackID=0


SETUP rtsp://192.168.1.191/ RTSP/1.0
CSeq: 3
Transport: RTP/AVP;unicast;client_port=6666-6667
User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24)


RTSP/1.0 200 OK
Server: rtsp_yxm_0.9
Cseq: 3
Session: 1234567890;timeout=60
Transport: rtp/avp;source=192.168.1.191;server_port=6666;client_port=6666
...全文
1454 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenriy 2011-07-25
  • 打赏
  • 举报
回复
哎!!!我的还走不通,大哥能否帮帮我
pike0002 2011-01-05
  • 打赏
  • 举报
回复
请问楼主从哪看到的VLC回复信息?你用的是VLC播放器还是自己BUILDE的VLC PROJECT?谢谢。请尽快回复。
yuanzhenhai 2010-06-05
  • 打赏
  • 举报
回复
哎!!!我的还走不通,大哥能否帮帮我
xinling101 2009-07-03
  • 打赏
  • 举报
回复
rtsp流程走通了,不过h.264播放还有问题。

谢谢楼上各位回复,虽然没有能够帮我解决问题,还是感谢!送分致谢!
sun007700 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xinling101 的回复:]
只是rtsp过程是tcp,传输图像时udp。
[/Quote]
恩,rtsp过程肯定是tcp的,我指的就是后边的这个,如果你是udp的话,那应该就不用改了,就是RTP/AVP。
xinling101 2009-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 weichen2005 的回复:]
把“在RTSP上使用RTP“选项选上
[/Quote]

没有这个选项啊!
xinling101 2009-06-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sun007700 的回复:]
如果使用TCP的话;
“RTP/AVP;”要改成“RTP/AVP/TCP”。
还有很多地方也要改。。
不过好像vlc不支持tcp模式的传输,只支持udp的,不知道是否??
[/Quote]

只是rtsp过程是tcp,传输图像时udp。
sun007700 2009-06-26
  • 打赏
  • 举报
回复
如果使用TCP的话;
“RTP/AVP;”要改成“RTP/AVP/TCP”。
还有很多地方也要改。。
不过好像vlc不支持tcp模式的传输,只支持udp的,不知道是否??
xinling101 2009-06-26
  • 打赏
  • 举报
回复
谢谢楼上指教!能否具体指出是哪个参数错了?多谢!!!
dongchaomissyou 2009-06-25
  • 打赏
  • 举报
回复
RTSP/1.0 200 OK
Server: rtsp_yxm_0.9
Cseq: 3
Session: 1234567890;timeout=60
Transport: rtp/avp;source=192.168.1.191;server_port=6666;client_port=6666

你给VLC的这个回复有问题,UDP时SETUP是下面的方法传的

SETUP rtsp://admin:admin@192.168.1.100/0/track1 RTSP/1.0

CSeq: 5

Transport: RTP/AVP;unicast;client_port=13235-13236

User-Agent: Test



RTSP/1.0 200 OK

CSeq: 5

Date: Fri, Aug 04 2000 00:57:25 GMT

Transport: RTP/AVP;unicast;destination=192.168.1.200;source=192.168.1.100;client_port=13235-13236;server_port=6970-6971

Session: 1



weichen2005 2009-06-24
  • 打赏
  • 举报
回复
把“在RTSP上使用RTP“选项选上
xinling101 2009-06-23
  • 打赏
  • 举报
回复
奇怪的是,从抓包上看,在收到我的setup返回包之前vlc就开始关闭连接了(发tcp的FIN ACK包)。所以我认为问题可能还是出在decribe包上。
rightorwrong 2009-06-23
  • 打赏
  • 举报
回复
那就是SETUP返回有问题。你用vlc和其它服务端测试下,setup命令返回应该需要什么信息

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧