[FFmpeg-user] 454 Session Not Found

Drew Toto drewtoto at gmail.com
Thu Jun 7 19:43:27 EEST 2018


I'm using ffmpeg to stream live video from a Milestone VMS server via
RTSP.  Because I'm using a filtergraph with multiple inputs to stitch
together video side-by-side, I have not found a way to determine when the
connection to one or more streams has been interrupted.  To workaround
this, I use a background process to do an independent check on that
connection to determine if the stream is available or not.

The problem I'm having is that after some period of time, the background
process is receiving a 454 Session Not Found, even when the RTSP stream is
available.  I know it's available because I can connect to it from other
machines and other clients.  My first thoughts were that this could be an
issue where the stream provider (Milestone in this case) is only allowing a
maximum number of connections per client IP address in a given period of
time.  I don't have control over the Milestone server, so, I'm wondering if
there is a way to work around this on the ffmpeg client side - perhaps by
passing headers to specifiy new/unique sessions each time?

Below is the command and output of the background process command to check
the connection and the 454 returned.

Thanks in advance.

===========================================

$ ffmpeg -y -hide_banner -loglevel debug -stimeout 10000000 -rtsp_transport
tcp -i rtsp://
username:password at 192.168.1.100:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7
-vframes 1 -f null /dev/null
Splitting the commandline.
Reading option '-y' ... matched as option 'y' (overwrite output files) with
argument '1'.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not
show program banner) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument 'debug'.
Reading option '-stimeout' ... matched as AVOption 'stimeout' with argument
'10000000'.
Reading option '-rtsp_transport' ... matched as AVOption 'rtsp_transport'
with argument 'tcp'.
Reading option '-i' ... matched as input url with argument 'rtsp://
username:password at 192.168.1.100:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7
'.
Reading option '-vframes' ... matched as option 'vframes' (set the number
of video frames to output) with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'null'.
Reading option '/dev/null' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option hide_banner (do not show program banner) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://
username:password at 192.168.1.100:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7
.
Successfully parsed a group of options.
Opening an input file: rtsp://
username:password at 192.168.1.100:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7
.
[tcp @ 0x55cd6cca1100] No default whitelist set
[rtsp @ 0x55cd6cc9efa0] SDP:
v=0
o=- 1528388529036236 1 IN IP4 192.168.50.1
s=libttrtspserver
c=IN IP4 0.0.0.0
t=0 0
a=tool:libttrtspserver 1.0.0
a=range:npt=now-
m=video 0 RTP/AVP 96
a=framerate:1.000000
a=rtpmap:96 H264/90000
a=control:streamid=0
a=fmtp:96 packetization-mode=1;

[rtsp @ 0x55cd6cc9efa0] video codec set to: h264
[rtsp @ 0x55cd6cc9efa0] RTP Packetization Mode: 1
[rtsp @ 0x55cd6cc9efa0] setting jitter buffer size to 0
[rtsp @ 0x55cd6cc9efa0] hello state=0
[rtsp @ 0x55cd6cc9efa0] method PLAY failed: 454 Session Not Found
[rtsp @ 0x55cd6cc9efa0] CSeq:  5
Date: Thu, Jun 07 2018 16:22:25 GMT

rtsp://
username:password at 192.168.1.100:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7:
Server returned 4XX Client Error, but not one of 40{0,1,3,4}


More information about the ffmpeg-user mailing list