<div dir="ltr">Hi,<div><div>I had the pipeline for capturing video from my camera. </div><div>`v4l2src! <some processing> ! appsink`</div><div><div>My goal is to extend the pipeline for adding streaming to a rtmp server.<div></div></div></div><div>something like this:</div><div>`</div><div>v4l2src ! tee name=mux ! queue ! <some processing> ! appsink</div><div>.mux ! queue ! flvmux ! rtmp2sink location="$RTMP_SERVER"</div><div>`</div><div>I run gstreamer from go application, appsink process data in golang.</div><div>Everything works well until an error happens in rtmp2sink which breaks the whole pipeline.</div><div>What is the best approach to failover this error without stopping the whole pipeline and reconnect after some timeout?</div><div>I'm quite new with gstreamer so I've spent the previous week struggling with it, trying to find an optimal solution.</div><div>I've tried:</div><div>1.multiple pipelines with appsink->appsrc.</div><div><div>`</div><div>v4l2src ! tee name=mux ! queue ! <some processing> ! appsink</div><div>.mux ! queue ! flvmux ! queue ! appsink</div><div><br></div><div>appsrc ! rtmp2sink location="$RTMP_SERVER"</div><div>`</div></div><div> The second pipeline failed to work after restarting from error. Seems like appsrc failed to push buffers further after restart.</div><div><br></div><div>2. using gstproxy plugin. Failed to restart correctly - I believe there is a problem with gstproxy plugin</div><div><br></div><div>3. Handle everything within the same pipelines with probes. Didn't succeed a lot.</div></div><div><br></div><div>I'm a little bit lost in which direction now should I dig for implementing necessary behavior.</div><div>I would appreciate any advice.</div><div><br></div><div>With regards</div><div><br></div><div>Yuri</div><div><br></div></div>