[Live-devel] Problem with VLC and wis-streamer
Bill Dolson
bd at landform.com
Mon Dec 10 17:57:56 PST 2007
Ross Finlayson wrote:
>> > They should be getting sent to whichever server IP address was
>>> specified in the "rtsp://" URL, or - if a server domain name was
>>> specified instead - whatever IP address that domain name resolved to
>>> when it was looked up (via DNS).
>>>
>>> RTSP/RTP cannot reliably be expected to work across NATs. (If you're
>>> behind a NAT, then you're not really on the Internet.) Instead, you
>>> can ask for RTP-over-TCP streaming, which should work.
>> Ross, thanks for the reply. So, it is a VLC bug correct?
>
> No, I have no evidence that there's any bug at all (except perhaps
> with your NAT).
>
>> Using VLC the RTCP RRs are being sent to the local IP of the server, as
>> reported as the Content-Base in the DESCRIBE response and in the sdp.
>> Is this just plain wrong or is it following the letter of the RFC?
>
> No, this is correct. So, why on Earth is the server returning a
> local NAT address in its SDP response?? Or is your NAT somehow
> translating the SDP description somehow? (unlikely)
>
> You should mail us the debugging output from "openRTSP" (i.e.,
> showing the complete RTSP protocol exchange), so we can figure out
> exactly what is going wrong. Otherwise we can only speculate.
Ross,
I think you're making this way too complicated. Simple question: As
per the RFC, should the RTCP RRs go to the IP in the original rtsp://...
or to the IP reported as the Content-Base (due to the horrible, nasty,
abominable NATing the private address not the public address is returned
here and in the sdp). FFmpeg does the former, VLC the latter. I assume
only one is correct.
Below is the protocol exchange debug from VLC
Thanks,
Bill
Sending request: OPTIONS rtsp://69.2.183.250:8554 RTSP/1.0
CSeq: 1
User-Agent: VLC media player (LIVE555 Streaming Media v2006.12.08)
Received OPTIONS response: RTSP/1.0 200 OK
CSeq: 1
Date: Tue, Dec 11 2007 01:15:50 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE
Sending request: DESCRIBE rtsp://69.2.183.250:8554 RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: VLC media player (LIVE555 Streaming Media v2006.12.08)
Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 2
Date: Tue, Dec 11 2007 01:15:50 GMT
Content-Base: rtsp://192.168.10.55:8554//
Content-Type: application/sdp
Content-Length: 511
Need to read 511 extra bytes
Read 511 extra bytes: v=0
o=- 1197324166449418 1 IN IP4 192.168.10.55
s=RTSP/RTP stream from a WIS GO7007 encoder
i=LIVE555 Streaming Media v
t=0 0
a=tool:LIVE555 Streaming Media v2007.10.31
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:RTSP/RTP stream from a WIS GO7007 encoder
a=x-qt-text-inf:LIVE555 Streaming Media v
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96
profile-level-id=245;config=000001B0F5000001B509000001000000012000C88889C463E98A021E0A0C1F
a=control:track1
[00000304] live555 demuxer debug: RTP subsession 'video/MP4V-ES'
Sending request: SETUP rtsp://192.168.10.55:8554//track1 RTSP/1.0
CSeq: 3
Transport: RTP/AVP;unicast;client_port=34740-34741
User-Agent: VLC media player (LIVE555 Streaming Media v2006.12.08)
Received SETUP response: RTSP/1.0 200 OK
CSeq: 3
Date: Tue, Dec 11 2007 01:15:50 GMT
Transport:
RTP/AVP;unicast;destination=4.79.212.141;source=192.168.10.55;client_port=34740-34741;server_port=6970-6971
Session: 42
Sending request: PLAY rtsp://192.168.10.55:8554// RTSP/1.0
CSeq: 4
Session: 42
Range: npt=0.000-
User-Agent: VLC media player (LIVE555 Streaming Media v2006.12.08)
Received PLAY response: RTSP/1.0 200 OK
CSeq: 4
Date: Tue, Dec 11 2007 01:15:50 GMT
Range: npt=0.000-
Session: 42
RTP-Info: url=rtsp://192.168.10.55:8554//track1;seq=55317;rtptime=1494175137
...
FFmpeg sends RTCP RRs to 69.2.183.250
VLC sends RTCP RRs to 192.168.10.55
By the RFC, which is correct?
Other than this problem it works fine with both server and client behind
NATs.
More information about the live-devel
mailing list