Interpipe for video

I’m looking at RidgeRun’s interpipe as a possible replacement for intervideo… anyone else use it for video? If so, any nasty issues or gotchas?

intervideosink and intervideosrc are fundamentally different in how they work from RR’s interpipe (or appsink/appsrc, or proxysink/proxysrc).

intervideosrc is completely decoupled from the intervideosink, so you can force it to a different output framerate for example (or may have to force it to use the same as the input, even), and intervideosrc can keep producing repeat buffers, even if intervideosink has stopped delivering buffers. In that it’s more like a compositor working in live-mode behaviour wise. Generic plugins can’t do that.

There are also new intersink + intersrc elements in the upstream gst-plugins-rs main branch which are similar to RR’s interpipe elements (but without the questionable segment/timestamp adjustments, for now at least).

Ah right, thanks.

The original motivation for using intervideo was to allow the video to be unreliable without affecting the main pipeline - basically so that audio can continue to be piped through to a WebRTC connection while a camera (running in its own pipeline) drops out.

But we’ve been getting some fairly nasty intermittent errors described in another thread, so we’re looking at alternatives.

Would the new intersink + intersrc be suitable for that use?

Have you tried the latest iteration of an inter pipeline plugin, called inter? It uses the Rust stream producer API and doesn’t try to sync your pipeline manually, leaving that up to your application.