Hi,
I have multiple issues with an RTMP-in to an HLS and RTMP-out pipeline. When using Membrane.Tee.Parallel
, it buffers. As per the docs, I understand that:
the slowest output pad dictates the speed of processing data
On switching to Membrane.Tee.PushOutput
, the pipeline crashes after a while with a toilet capacity error. What are my options and is there a “best” way to handle this situation?
Also, when the RTMP pipeline crashes, it takes down the entire app with:
** (MatchError) no match of right hand side value: {:error, :eaddrinuse}
(membrane_rtmp_plugin 0.27.3) lib/membrane_rtmp_plugin/rtmp_server/listener.ex:41: Membrane.RTMPServer.Listener.run/1
My understanding is that the RTMP server did not teardown properly when the pipeline crashed and repeated retries hit eaddrinuse
, crashing the app. I tried a few supervision hacks but in the best case, the RTMP server stopped accepting connections.
How can I solve this, please?