首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么VLC不会向我的服务器发送rtsp PLAY请求?

为什么VLC不会向我的服务器发送rtsp PLAY请求?
EN

Stack Overflow用户
提问于 2016-09-09 19:06:29
回答 1查看 926关注 0票数 0

我正在使用RFC (rtsprtpsdp)和这个tutorial在NodeJs中实现一个RTSP服务器。

我正在使用VLC来测试我的实现,它在示例中工作得很好(教程底部的链接),但是在我的服务器上中途停止了。我怀疑一些RFC遵从性问题,但我找不到它,VLC并没有真正提供任何有用的信息来说明它正在做什么。

运行wireshark和c++服务器实施,并将VLC指向它,显示了所有步骤:

代码语言:javascript
复制
OPTIONS rtsp://192.168.10.151:8554/mjpeg/1 RTSP/1.0
CSeq: 2
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)

RTSP/1.0 200 OK
CSeq: 2
Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE

DESCRIBE rtsp://192.168.10.151:8554/mjpeg/1 RTSP/1.0
CSeq: 3
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
This should be date
Content-Base: rtsp://192.168.10.151:8554/mjpeg/1/
Content-Type: application/sdp
Content-Length: 90

v=0
o=- 6334 1 IN IP4 192.168.10.151
s=
t=0 0
m=video 0 RTP/AVP 26
c=IN IP4 0.0.0.0
SETUP rtsp://192.168.10.151:8554/mjpeg/1/ RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

RTSP/1.0 200 OK
CSeq: 4
This should be date
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Session: -2144778205

PLAY rtsp://192.168.10.151:8554/mjpeg/1/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)
Session: -2144778205
Range: npt=0.000-

RTSP/1.0 200 OK
CSeq: 5
This should be date
Range: npt=0.000-
Session: -2144778205
RTP-Info: url=rtsp://127.0.0.1:8554/mjpeg/1/track1

和VLC消息:

代码语言:javascript
复制
...
live555 debug: RTP subsession 'video/JPEG'
core debug: selecting program id=0
live555 debug: setup start: 0.000000 stop:0.000000
live555 debug: play start: 0.000000 stop:0.000000
core debug: using access_demux module "live555"
core debug: looking for decoder module matching "any": 43 candidates
...

当我运行自己的服务器时,它从不发送play请求:

代码语言:javascript
复制
OPTIONS rtsp://rasmus.axit.local:8554/mjpeg/1 RTSP/1.0
CSeq: 2
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)

RTSP/1.0 200 OK
CSeq: 2
Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE

DESCRIBE rtsp://rasmus.axit.local:8554/mjpeg/1 RTSP/1.0
CSeq: 3
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
Date: Fri, 09 Sep 2016 09:36:29 GMT
Content-Base: rtsp://rasmus.axit.local:8554/mjpeg/1
Content-Type: application/sdp
Content-Length: 91

v=0
o=- -12345678 1 IN IP4 192.168.10.71
s=
t=0 0
m=video 0 RTP/AVP 26
c=IN IP4 0.0.0.0

SETUP rtsp://rasmus.axit.local:8554/mjpeg/1/ RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.2.1 (LIVE555 Streaming Media v2014.07.25)
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

RTSP/1.0 200 OK
CSeq: 4
Date: Fri, 09 Sep 2016 09:36:29 GMT
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Session: -12345678

和VLC:

代码语言:javascript
复制
...
live555 debug: RTP subsession 'video/JPEG'

它不会从那里继续下去。

我想不出它缺了什么。早些时候,它也没有发送SETUP,结果是DESCRIBE响应中缺少一个空行。因此,我尝试添加不同数量的换行符,in,不同的日期和不同的地方,但没有骰子。

如果您需要更多信息,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2016-09-12 21:43:49

您对DESCRIBE命令的响应似乎无效-您的回复是96个字符,而Content-Length报头的状态为91。不确定这是否会影响结果,但我假设VLC可能会因此而失败(可能是它无法解析连接数据线)。此外,在最后一行的SDP数据的末尾似乎有一个不需要的额外换行符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39410166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档