RTSP H264 playback does not work since 2.8.0

iOS, iPad, iPhone, tvOS specific usage questions
jgrahsl
New Cone
New Cone
Posts: 2
Joined: 12 Sep 2017 16:38

RTSP H264 playback does not work since 2.8.0

Postby jgrahsl » 13 Sep 2017 20:54

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

fkuehne
Developer
Developer
Posts: 7264
Joined: 16 Mar 2004 19:37
VLC version: 0.4.6 - present
Operating System: Darwin
Location: Germany
Contact:

Re: RTSP H264 playback does not work since 2.8.0

Postby fkuehne » 14 Sep 2017 14:04

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?
VideoLAN
Felix Paul Kühne
Medic. VLC developer for appleOS since before you were born.
Blog: https://www.feepk.net

jgrahsl
New Cone
New Cone
Posts: 2
Joined: 12 Sep 2017 16:38

Re: RTSP H264 playback does not work since 2.8.0

Postby jgrahsl » 14 Sep 2017 15:23

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.

shmick
New Cone
New Cone
Posts: 2
Joined: 12 Jun 2014 00:44

Re: RTSP H264 playback does not work since 2.8.0

Postby shmick » 30 Sep 2017 23:54

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.

mike.vax
New Cone
New Cone
Posts: 1
Joined: 25 Oct 2017 13:13

Re: RTSP H264 playback does not work since 2.8.0

Postby mike.vax » 25 Oct 2017 13:17

I am having similar issues in playing RTSP streams. Any resolutions ?

Ibadat
New Cone
New Cone
Posts: 3
Joined: 27 Nov 2017 01:50

Re: RTSP H264 playback does not work since 2.8.0

Postby Ibadat » 27 Nov 2017 01:57

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


Return to “VLC for iOS, iPadOS and Apple TV”

Who is online

Users browsing this forum: No registered users and 25 guests