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