RTSP input stream timeout and GET_PARAMETER keepalive

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
dario-
New Cone
New Cone
Posts: 5
Joined: 03 Dec 2012 21:31

RTSP input stream timeout and GET_PARAMETER keepalive

Postby dario- » 29 Jan 2013 10:46

Hi everyone,
after upgrading to VLC 2.0.5 from 2.0.3 i've ecountered the following issue (im running vlc 32 bit on windows7 64bit):
-I connect to an IP camera using a RTSP stream
-after 60 seconds the input stream is closed by the server for inactivity.

Inspecting RTSP traffic reveals that the server is expecting a GET_PARAMETER requests to keep the stream alive but VLC doesent send it. This is the OPTIONS response from the server:

- Rtsp: RESPONSE, RTSP/1.0, Status Code = 200 - OK
- Response: Status of response : Ok
ProtocolVersion: RTSP/1.0
StatusCode: 200, Ok
Reason: OK
Server: HiIpcam/V100R003 VodServer/1.0.0
Cseq: 2
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, GET_PARAMETER
HeaderEnd: CRLF

So it seems the server correctly advertises the GET_PARAMETER but somehow vlc won't send it. Inspecting traffic on vlc 2.0.3 reveals those periodic GET_PARAMETER are sent every 60sec, and the stream continues playing fine.

I'm missing something (i haven't a deep RTSP knowledge) or something has changed between 2.0.3 and 2.0.5?

Thanks in advance.

Rémi Denis-Courmont
Developer
Developer
Posts: 15318
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby Rémi Denis-Courmont » 29 Jan 2013 20:00

VLC has not changed w.r.t. to RTSP, but the live555 library has.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

dario-
New Cone
New Cone
Posts: 5
Joined: 03 Dec 2012 21:31

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby dario- » 30 Jan 2013 11:08

Thank you.
Where i can find information about what live555 version are used by vlc on each release? So i can check their changelogs to find more about this..

Sébastien Escudier
Big Cone-huna
Big Cone-huna
Posts: 853
Joined: 06 Nov 2008 08:38
Operating System: linux

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby Sébastien Escudier » 07 Feb 2013 14:53

will be fixed in 2.0.6

mykillk
New Cone
New Cone
Posts: 7
Joined: 13 Apr 2013 01:22

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby mykillk » 13 Apr 2013 01:23

I'm still getting this issue of a reliable 60-second disconnect in 2.0.6. Also having the same problem with the nightly 2.0.7 build.

EDIT: Went back to 2.0.3 and the streams are solid

Sébastien Escudier
Big Cone-huna
Big Cone-huna
Posts: 853
Joined: 06 Nov 2008 08:38
Operating System: linux

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby Sébastien Escudier » 15 Apr 2013 15:27

Works fine here, this must be a different issue than the one I fixed.
Can you give more details ? For example the complete RTSP dialogue from the begining to the 1 minute shutdown ?

mykillk
New Cone
New Cone
Posts: 7
Joined: 13 Apr 2013 01:22

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby mykillk » 16 Apr 2013 20:40

Yes, I will try. But I've never done that before so it may take me some time to figure out how to grab that output.

EDIT: Ok, figured it out:

==== Version 2.0.3 ====
== RTSP Stream 1 ==


OPTIONS XXXX RTSP/1.0

CSeq: 2

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)



RTSP/1.0 200 OK

CSeq: 2

Date: Tue, 16 Apr 2013 12:15:16 GMT

Public: OPTIONS, DESCRIBE, PLAY, SETUP, TEARDOWN



DESCRIBE XXXX RTSP/1.0

CSeq: 3

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)

Accept: application/sdp



RTSP/1.0 200 OK

CSeq: 3

Date: Tue, 16 Apr 2013 12:15:16 GMT

Content-Base: XXXX

Content-Type: application/sdp

Content-Length: 343



v=0

o=RTSP 1366114516 541 IN IP4 0.0.0.0

s=RTSP server

c=IN IP4 0.0.0.0

t=0 0

a=charset:Shift_JIS

a=range:npt=0-

a=control:*

a=etag:1234567890

m=video 0 RTP/AVP 96

b=AS:0

a=rtpmap:96 MP4V-ES/30000

a=control:trackID=1

a=fmtp:96 profile-level-id=3;config=000001B003000001B509000001000000012000C488800F51904381463F;decode_buf=76800

SETUP XXXX RTSP/1.0

CSeq: 4

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)

Transport: RTP/AVP/TCP;unicast;interleaved=0-1



RTSP/1.0 200 OK

CSeq: 4

Date: Tue, 16 Apr 2013 12:15:17 GMT

Session: 8670118;timeout=80

Transport: RTP/AVP/TCP;interleaved=0-1;unicast;mode=play



PLAY XXXX RTSP/1.0

CSeq: 5

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)

Session: 8670118

Range: npt=0.000-



RTSP/1.0 200 OK

CSeq: 5

Date: Tue, 16 Apr 2013 12:15:17 GMT

Session: 8670118;timeout=80

RTP-Info: url=XXXX/trackID=1;seq=0;rtptime=0

Range: npt=0-

RTCP-Interval: 250

== RTSP Stream 2 ==

OPTIONS XXXX RTSP/1.0

CSeq: 2

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)



RTSP/1.0 200 OK

CSeq: 2

Date: Tue, 16 Apr 2013 12:15:16 GMT

Public: OPTIONS, DESCRIBE, PLAY, SETUP, GET_PARAMETER, SET_PARAMETER, TEARDOWN



DESCRIBE XXXX RTSP/1.0

CSeq: 3

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)

Accept: application/sdp



RTSP/1.0 200 OK

CSeq: 3

Date: Tue, 16 Apr 2013 12:15:16 GMT

Content-Base: XXXX

Content-Type: application/sdp

Content-Length: 328



v=0

o=RTSP 1366114516 957 IN IP4 0.0.0.0

s=RTSP server

c=IN IP4 0.0.0.0

t=0 0

a=charset:Shift_JIS

a=range:npt=0-

a=control:*

a=etag:1234567890

m=video 0 RTP/AVP 98

b=AS:0

a=rtpmap:98 H264/90000

a=control:trackID=1

a=fmtp:98 packetization-mode=1; profile-level-id=4d001f; sprop-parameter-sets=Z00AH9oDQMZA,aO48gA==

SETUP XXXX RTSP/1.0

CSeq: 4

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)

Transport: RTP/AVP/TCP;unicast;interleaved=0-1



RTSP/1.0 200 OK

CSeq: 4

Date: Tue, 16 Apr 2013 12:15:17 GMT

Session: 32771057;timeout=80

Transport: RTP/AVP/TCP;interleaved=0-1;unicast;mode=play



PLAY XXXX RTSP/1.0

CSeq: 5

User-Agent: LibVLC/2.0.3 (LIVE555 Streaming Media v2011.12.23)

Session: 32771057

Range: npt=0.000-



RTSP/1.0 200 OK

CSeq: 5

Date: Tue, 16 Apr 2013 12:15:17 GMT

Session: 32771057;timeout=80

RTP-Info: url=XXXX/trackID=1;seq=0;rtptime=0

Range: npt=0-

RTCP-Interval: 250

==== Version 2.0.6 ====
== RTSP Stream 1 (This is the one that cuts out after 60 seconds) ==


OPTIONS XXXX RTSP/1.0

CSeq: 2

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)



RTSP/1.0 200 OK

CSeq: 2

Date: Tue, 16 Apr 2013 12:33:19 GMT

Public: OPTIONS, DESCRIBE, PLAY, SETUP, TEARDOWN



DESCRIBE XXXX RTSP/1.0

CSeq: 3

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Accept: application/sdp



RTSP/1.0 200 OK

CSeq: 3

Date: Tue, 16 Apr 2013 12:33:19 GMT

Content-Base: XXXX

Content-Type: application/sdp

Content-Length: 343



v=0

o=RTSP 1366115599 228 IN IP4 0.0.0.0

s=RTSP server

c=IN IP4 0.0.0.0

t=0 0

a=charset:Shift_JIS

a=range:npt=0-

a=control:*

a=etag:1234567890

m=video 0 RTP/AVP 96

b=AS:0

a=rtpmap:96 MP4V-ES/30000

a=control:trackID=1

a=fmtp:96 profile-level-id=3;config=000001B003000001B509000001000000012000C488800F51904381463F;decode_buf=76800

SETUP XXXX/trackID=1 RTSP/1.0

CSeq: 4

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Transport: RTP/AVP;unicast;client_port=65372-65373



RTSP/1.0 200 OK

CSeq: 4

Date: Tue, 16 Apr 2013 12:33:19 GMT

Session: 8778351;timeout=80

Transport: RTP/AVP;unicast;client_port=65372-65373;server_port=5556-5557



PLAY XXXX RTSP/1.0

CSeq: 5

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Session: 8778351

Range: npt=0.000-



RTSP/1.0 200 OK

CSeq: 5

Date: Tue, 16 Apr 2013 12:33:19 GMT

Session: 8778351;timeout=80

RTP-Info: url=XXXX/trackID=1;seq=0;rtptime=0

Range: npt=0-

RTCP-Interval: 250

== RTSP Stream 2 (This one works fine on this version as well) ==

OPTIONS XXXX RTSP/1.0

CSeq: 2

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)



RTSP/1.0 200 OK

CSeq: 2

Date: Tue, 16 Apr 2013 12:33:19 GMT

Public: OPTIONS, DESCRIBE, PLAY, SETUP, GET_PARAMETER, SET_PARAMETER, TEARDOWN



DESCRIBE XXXX RTSP/1.0

CSeq: 3

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Accept: application/sdp



RTSP/1.0 200 OK

CSeq: 3

Date: Tue, 16 Apr 2013 12:33:19 GMT

Content-Base: XXXX

Content-Type: application/sdp

Content-Length: 328



v=0

o=RTSP 1366115599 650 IN IP4 0.0.0.0

s=RTSP server

c=IN IP4 0.0.0.0

t=0 0

a=charset:Shift_JIS

a=range:npt=0-

a=control:*

a=etag:1234567890

m=video 0 RTP/AVP 98

b=AS:0

a=rtpmap:98 H264/90000

a=control:trackID=1

a=fmtp:98 packetization-mode=1; profile-level-id=4d001f; sprop-parameter-sets=Z00AH9oDQMZA,aO48gA==

SETUP XXXX/trackID=1 RTSP/1.0

CSeq: 4

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Transport: RTP/AVP;unicast;client_port=65370-65371



RTSP/1.0 200 OK

CSeq: 4

Date: Tue, 16 Apr 2013 12:33:19 GMT

Session: 32879294;timeout=80

Transport: RTP/AVP;unicast;client_port=65370-65371;server_port=5556-5557



PLAY XXXX RTSP/1.0

CSeq: 5

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Session: 32879294

Range: npt=0.000-



RTSP/1.0 200 OK

CSeq: 5

Date: Tue, 16 Apr 2013 12:33:20 GMT

Session: 32879294;timeout=80

RTP-Info: url=XXXX/trackID=1;seq=0;rtptime=0

Range: npt=0-

RTCP-Interval: 250



GET_PARAMETER XXXX RTSP/1.0

CSeq: 6

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Session: 32879294



RTSP/1.0 200 OK

CSeq: 6

Date: Tue, 16 Apr 2013 12:33:20 GMT

Session: 32879294;timeout=80



GET_PARAMETER XXXX RTSP/1.0

CSeq: 7

User-Agent: LibVLC/2.0.6 (LIVE555 Streaming Media v2012.12.18)

Session: 32879294



RTSP/1.0 200 OK

CSeq: 7

Date: Tue, 16 Apr 2013 12:34:38 GMT

Session: 32879294;timeout=80
Last edited by mykillk on 16 Apr 2013 21:46, edited 1 time in total.

mykillk
New Cone
New Cone
Posts: 7
Joined: 13 Apr 2013 01:22

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby mykillk » 16 Apr 2013 21:43

Two things I noticed right away: Stream 1 (the one that isn't working in 2.0.6), does not support GET_PARAMETER, whereas Stream 2 (works in both versions) does support it. Also, the RTSP stream is getting sent over TCP in 2.0.3, but UDP in 2.0.6.

I hope this helps. I am also willing to provide you the connection info in a private message if you want to check out the RTSP streams yourself.

Sébastien Escudier
Big Cone-huna
Big Cone-huna
Posts: 853
Joined: 06 Nov 2008 08:38
Operating System: linux

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby Sébastien Escudier » 17 Apr 2013 20:14

The choice between UDP and TCP is an option in VLC.

Please check you have the same settings in both versions :
tools -> preferences -> check show all settings -> input codecs -> demuxers -> rtp/rtsp -> use RTP over RTSP (TCP).
Or if you use command line the option is --rtsp-tcp

Now please test the stream wich cuts after 60 seconds with and without TCP enabled, in both versions, and tell me the result.

mykillk
New Cone
New Cone
Posts: 7
Joined: 13 Apr 2013 01:22

Re: RTSP input stream timeout and GET_PARAMETER keepalive

Postby mykillk » 23 Apr 2013 03:44

Using --rtsp-tcp on the latest nightly build of 2.1.0 is working properly for both streams.

Perhaps RTSP over TCP should be the default?

Thanks for your assistance.


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 39 guests