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:[email protected]: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:[email protected]: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:[email protected]:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7 . Successfully parsed a group of options. Opening an input file: rtsp:// username:[email protected]: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:[email protected]:554/live/477799A3-88A9-45AA-95EC-4CBE3CA1FBA7: Server returned 4XX Client Error, but not one of 40{0,1,3,4} _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
