We've inherited an application in which there are four possible camera streams but with only one viewed at any given time. The streams are known in advance and the URLs do not change.
It has a separate window for each stream, but the non-display ones are hidden.
At the moment. it totally shuts down non-display RTSP sessions when they're hidden, apparently to avoid too much network traffic since it's running in a lower-bandwidth environment.
However, this means the latency of switching between cameras can be several seconds as the entire pipeline gets reconstructed.
So I'm wondering whether it would be a better idea to keep all the sessions up but simply pause the non-display ones rather than tearing them down. A resume would probably have far less latency, at most waiting for the next I-frame (less than a second the way we have it set up).
However, I need to confirm that an RTSP pause causes the actual data provider (camera) to stop sending the frames, or whether it's a local command to stop rendering the frames that are still coming in.
If the former, we can improve latency with no effect on traffic, but the latter would involve quadrupling traffic, not something we want to entertain :-)