gst-launch-1.0 rtspsrc / Got EOS from element "pipeline0".

Dale Johnson djohnson at tplogic.com
Wed Jun 4 16:11:23 PDT 2014


Hello,

The following pipeline works as expected:
     gst-launch-1.0 rtspsrc
location=rtsp://192.168.0.172/axis-media/media.amp user-id=root
user-pw=???????? latency=10 ! decodebin max-size-time=30000000000 !
videoconvert ! autovideosink

producing video that is properly displayed and the following output,
terminating when the comm link is disrupted for approximately 20 seconds or
so:
     Setting pipeline to PAUSED ...
     Pipeline is live and does not need PREROLL ...
     Progress: (open) Opening Stream
     Progress: (connect) Connecting to
rtsp://192.168.0.172/axis-media/media.amp
     Progress: (open) Retrieving server options
     Progress: (open) Retrieving media info
     Progress: (request) SETUP stream 0
     Progress: (open) Opened Stream
     Setting pipeline to PLAYING ...
     New clock: GstSystemClock
     Progress: (request) Sending PLAY request
     Progress: (request) Sending PLAY request
     Progress: (request) Sent PLAY request
     Got EOS from element "pipeline0".
     Execution ended after 1:38:43.997813935
     Setting pipeline to PAUSED ...
     Setting pipeline to READY ...
     Setting pipeline to NULL ...
     Freeing pipeline ...

Question(s):
     This pipeline is functioning in a network which can have significant
outages for varying periods of time.

     What parameters/mechanisms can I use to instruct gstreamer to retry
repeatedly, never exiting at any condition, e.g. 'Got EOS from element
"pipeline0".'?

     In this way, video would become live as soon as network connectivity is
restored in the network under test.

     Initially I thought that the "tcp-timeout" property might control this
as default behavior seems to be that gstreamer can tolerate up to about 20
seconds outage before exiting AND 20 seconds is the "tcp-timeout" property
default value.  But after testing this does not seem to be the case.
Changing "tcp-timeout" does not seem to affect timeout behavior.

When I immediately disrupt the link after launching gstreamer and seeing
live video I see the following output:
     tpl at tpl-ThinkPad-T430s:~$ gst-launch-1.0 rtspsrc
location=rtsp://192.168.0.172/axis-media/media.amp user-id=root user-pw=afrl
latency=10 tcp-timeout=0 ! decodebin max-size-time=60000000000 !
videoconvert ! autovideosink
     Setting pipeline to PAUSED ...
     Pipeline is live and does not need PREROLL ...
     Progress: (open) Opening Stream
     Progress: (connect) Connecting to
rtsp://192.168.0.172/axis-media/media.amp
     Progress: (open) Retrieving server options
     Progress: (open) Retrieving media info
     Progress: (request) SETUP stream 0
     Progress: (open) Opened Stream
     Setting pipeline to PLAYING ...
     New clock: GstSystemClock
     Progress: (request) Sending PLAY request
     Progress: (request) Sending PLAY request
     Progress: (request) Sent PLAY request
     Got EOS from element "pipeline0".
     Execution ended after 0:00:25.953584714
     Setting pipeline to PAUSED ...
     Setting pipeline to READY ...
     Setting pipeline to NULL ...
     Freeing pipeline ...
     tpl at tpl-ThinkPad-T430s:~$ 
Execution ends after approximately 25 seconds.

     * Does the gstreamer 1.0 "tcp-timeout" property function properly in
version 1.0?
     * How can I cause gstreamer to retry indefinitely?

Best regards,
Dale Johnson



More information about the gstreamer-devel mailing list