rtmp2sink disconnecting with flaky internet

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Fri Mar 4 09:21:38 UTC 2022


Hi Rob,

Yes, it might be good to add a retry option. In the meantime, a
generic solution for such issues (an element that is expected to throw
errors) is to use two separate pipelines and join them with a
proxysink / proxysrc pair of elements:

Pipeline A:
flvmux ! tee name=t
t. ! queue ! fakesink sync=true
t. ! queue ! proxysink

Pipeline B:
proxysrc ! rtmp2sink

If rtmp2sink throws an error, you can read the bus message and decide
to either set the pipeline to PLAYING again, or to handle it another
way. Essentially, using two separate pipelines connected by proxysink
/ proxysrc means that GST_FLOW_ERROR is not forwarded upstream to
pipeline A.

Detailed usage:
https://gstreamer.freedesktop.org/documentation/proxy/proxysrc.html?gi-language=c#usage

Cheers,
Nirbheek

On Fri, Mar 4, 2022 at 1:00 PM Robert Hensel via gstreamer-devel
<gstreamer-devel at lists.freedesktop.org> wrote:
>
> Hello devs,
> Has anyone have a solution for rtmp2sink bailing or stopping a pipeline when experiencing a server disconnect? Flaky internet more than likely.
>
> There must be a way to reconnect wait x time then try to reconnect?
> Once solution was to tee my pipeline to allow it to continue running and deal with the rtmp2sink separately?
> A reconnect=10 on rtmp2sink would be a nice feature.
>
> Any python scripts ti point me in the right direction be great help.
>
> Rob


More information about the gstreamer-devel mailing list