Page 1 of 1

RTSP H264 playback does not work since 2.8.0

Posted: 13 Sep 2017 20:54
by jgrahsl
Hi,

Since the update of VLC on iOS starting with 2.8.0 going to at least 2.8.1 playback of a network stream via RTSP (h264 codec) is not working anymore. Symptoms range from displaying just the very first frame after playback was initiated or even just a black screen.

OK: Iphone 5SE => VLC v2.7.8

NOK: Iphone 5 => VLC v2.8.0
NOK: Iphone 6 => VLC v2.8.1
NOK: Iphone 6 Plus => VLC v2.8.0

I suspected some troubles with the underlying Live555 media library (specifically the v2016.02.22) which is used for RTSP:

OK: Client openRTSP: (LIVE555 Streaming Media v2017.09.12LIVE555 Streaming Media v2017.09.1)
OK: Client VLC <= 2.7.8 on IPad: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
OK: Client LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)

NOK: Client VLC 2.8.0 on IPhone: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.11.28)
NOK: Client VLC 2.8.0 on Android: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)

But as you can see, the same LIVE555 Media library version (2016.02.22) is used in VLC 2.7.8 (Ipad) and VLC 2.8.0 (Android) but with differing results (OK vs. NOK).

Using wireshark, i digged into the RTSP conversation:

Hope you can shed some light on this topic.

kind regards,
Julian

================================================================
VLC 2.8.0 on ANDROID now working (!!!!)
================================================================
OPTIONS rtsp://192.168.3.116:5000/live RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)

RTSP/1.0 200 OK
CSeq: 2
Public: OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 12:35:53 GMT

DESCRIBE rtsp:// 192.168.3.116:5000/live RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
Content-Type: application/sdp
Content-Base: rtsp:// 192.168.3.116:5000/live/
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 12:35:53 GMT
Content-Length: 353

v=0
o=- 1188340656180883 1 IN IP4 192.168.3.116
s=Session streamed with GStreamer
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:broadcast
a=control:*
a=range:npt=now-
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
a=control:stream=0
a=framerate:25
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH6aA8BFkAA==,aM48gAA=
SETUP rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Transport: RTP/AVP;unicast;client_port=42330-42331

RTSP/1.0 200 OK
CSeq: 4
Transport: RTP/AVP;unicast;client_port=42330-42331;server_port=50000-50001;ssrc=938F41FA;mode="PLAY"
Server: GStreamer RTSP server
Session: Xca.PDWpeAIckydk
Date: Tue, 12 Sep 2017 12:35:53 GMT

PLAY rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Session: Xca.PDWpeAIckydk
Range: npt=0.000-

RTSP/1.0 200 OK
CSeq: 5
RTP-Info: url=rtsp:// 192.168.3.116:5000/live/stream=0;seq=3570;rtptime=4239765962
Range: npt=now-
Server: GStreamer RTSP server
Session: Xca.PDWpeAIckydk
Date: Tue, 12 Sep 2017 12:35:53 GMT

GET_PARAMETER rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Session: Xca.PDWpeAIckydk

RTSP/1.0 200 OK
CSeq: 6
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 12:35:53 GMT

TEARDOWN rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 7
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Session: Xca.PDWpeAIckydk

RTSP/1.0 460 Only aggregate operation allowed
CSeq: 7
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 12:35:53 GMT

SETUP rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 8
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Transport: RTP/AVP;unicast;client_port=42330-42331
Session: Xca.PDWpeAIckydk

RTSP/1.0 200 OK
CSeq: 8
Transport: RTP/AVP;unicast;client_port=42330-42331;server_port=50000-50001;ssrc=938F41FA;mode="PLAY"
Server: GStreamer RTSP server
Session: Xca.PDWpeAIckydk
Date: Tue, 12 Sep 2017 12:35:54 GMT

PLAY rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 9
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Session: Xca.PDWpeAIckydk
Speed: 0.000

RTSP/1.0 460 Only aggregate operation allowed
CSeq: 9
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 12:35:54 GMT

TEARDOWN rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 10
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Session: Xca.PDWpeAIckydk

RTSP/1.0 460 Only aggregate operation allowed
CSeq: 10
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 12:35:54 GMT

TEARDOWN rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 11
User-Agent: LibVLC/3.0.0-git (LIVE555 Streaming Media v2016.02.22)
Session: Xca.PDWpeAIckydk

RTSP/1.0 200 OK
CSeq: 11
Server: GStreamer RTSP server
Session: Xca.PDWpeAIckydk
Connection: close
Date: Tue, 12 Sep 2017 12:36:51 GMT

====================================================================
VLC on Linux working
====================================================================
OPTIONS rtsp:// 192.168.3.116:5000/live RTSP/1.0
CSeq: 2
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)

RTSP/1.0 200 OK
CSeq: 2
Public: OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 13:01:25 GMT

DESCRIBE rtsp:// 192.168.3.116:5000/live RTSP/1.0
CSeq: 3
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
Content-Type: application/sdp
Content-Base: rtsp:// 192.168.3.116:5000/live/
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 13:01:25 GMT
Content-Length: 353

v=0
o=- 1188340656180883 1 IN IP4 192.168.3.116
s=Session streamed with GStreamer
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:broadcast
a=control:*
a=range:npt=now-
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
a=control:stream=0
a=framerate:25
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH6aA8BFkAA==,aM48gAA=
SETUP rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Transport: RTP/AVP;unicast;client_port=60544-60545

RTSP/1.0 200 OK
CSeq: 4
Transport: RTP/AVP;unicast;client_port=60544-60545;server_port=50002-50003;ssrc=09D2AB02;mode="PLAY"
Server: GStreamer RTSP server
Session: EYk2r0e_oPTD7sBG
Date: Tue, 12 Sep 2017 13:01:25 GMT

PLAY rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Session: EYk2r0e_oPTD7sBG
Range: npt=0.000-

RTSP/1.0 200 OK
CSeq: 5
RTP-Info: url=rtsp:// 192.168.3.116:5000/live/stream=0;seq=21039;rtptime=3893969065
Range: npt=now-
Server: GStreamer RTSP server
Session: EYk2r0e_oPTD7sBG
Date: Tue, 12 Sep 2017 13:01:25 GMT

GET_PARAMETER rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Session: EYk2r0e_oPTD7sBG

RTSP/1.0 200 OK
CSeq: 6
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 13:01:25 GMT

TEARDOWN rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 7
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Session: EYk2r0e_oPTD7sBG

RTSP/1.0 200 OK
CSeq: 7
Server: GStreamer RTSP server
Session: EYk2r0e_oPTD7sBG
Connection: close
Date: Tue, 12 Sep 2017 13:01:34 GMT

=================================================================
openRTSP on Linux (working)
=================================================================
OPTIONS rtsp:// 192.168.3.116:5000/live RTSP/1.0
CSeq: 2
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)

RTSP/1.0 200 OK
CSeq: 2
Public: OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 13:01:25 GMT

DESCRIBE rtsp:// 192.168.3.116:5000/live RTSP/1.0
CSeq: 3
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
Content-Type: application/sdp
Content-Base: rtsp:// 192.168.3.116:5000/live/
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 13:01:25 GMT
Content-Length: 353

v=0
o=- 1188340656180883 1 IN IP4 192.168.3.116
s=Session streamed with GStreamer
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:broadcast
a=control:*
a=range:npt=now-
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
a=control:stream=0
a=framerate:25
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH6aA8BFkAA==,aM48gAA=
SETUP rtsp:// 192.168.3.116:5000/live/stream=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Transport: RTP/AVP;unicast;client_port=60544-60545

RTSP/1.0 200 OK
CSeq: 4
Transport: RTP/AVP;unicast;client_port=60544-60545;server_port=50002-50003;ssrc=09D2AB02;mode="PLAY"
Server: GStreamer RTSP server
Session: EYk2r0e_oPTD7sBG
Date: Tue, 12 Sep 2017 13:01:25 GMT

PLAY rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Session: EYk2r0e_oPTD7sBG
Range: npt=0.000-

RTSP/1.0 200 OK
CSeq: 5
RTP-Info: url=rtsp://192.168.3.116:5000/live/stream=0;seq=21039;rtptime=3893969065
Range: npt=now-
Server: GStreamer RTSP server
Session: EYk2r0e_oPTD7sBG
Date: Tue, 12 Sep 2017 13:01:25 GMT

GET_PARAMETER rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Session: EYk2r0e_oPTD7sBG

RTSP/1.0 200 OK
CSeq: 6
Server: GStreamer RTSP server
Date: Tue, 12 Sep 2017 13:01:25 GMT

TEARDOWN rtsp:// 192.168.3.116:5000/live/ RTSP/1.0
CSeq: 7
User-Agent: LibVLC/2.1.6 (LIVE555 Streaming Media v2014.01.13)
Session: EYk2r0e_oPTD7sBG

RTSP/1.0 200 OK
CSeq: 7
Server: GStreamer RTSP server
Session: EYk2r0e_oPTD7sBG
Connection: close
Date: Tue, 12 Sep 2017 13:01:34 GMT

Re: RTSP H264 playback does not work since 2.8.0

Posted: 14 Sep 2017 14:04
by fkuehne
This might actually be an issue with the H264 Decoder, which we improved quite a bit for 2.8.2. Can you re-try with today's update?

Re: RTSP H264 playback does not work since 2.8.0

Posted: 14 Sep 2017 15:23
by jgrahsl
Sorry, it does not work after updating to 2.8.2 on Iphone 5 SE (iOS Version 10.3.3).

The issue is the same: a black screen after hitting play.

Any other suggestions ? Could i provide more debug information ?

kind regards,
Julian

PS: On Android VLC (2.0.6) has the same symptom.

Re: RTSP H264 playback does not work since 2.8.0

Posted: 30 Sep 2017 23:54
by shmick
I've also been having this problem since 2.8.0 was released.

Trying to view the stream from my home security camera and it looks like it connects, but all I get is a black image.

Re: RTSP H264 playback does not work since 2.8.0

Posted: 25 Oct 2017 13:17
by mike.vax
I am having similar issues in playing RTSP streams. Any resolutions ?

Re: RTSP H264 playback does not work since 2.8.0

Posted: 27 Nov 2017 01:57
by Ibadat
I am also having the similar issues with H264 streams in nsv container served by Icecast. It works fine on iOS devices with older versions such as 2.7.8

Also, having trouble with authentication with urls in the following format
http://username:pass@severip:port/live.nsv

Works fine in older versions such as 2.7.8