Most cameras provide primary and secondary streams, and with Obseron 3 we can capture and utilize both of these. A summary of the streams and how they're used:
- High resolution, fps and bitrate can be used to achieve high quality image/video
- Would need a lot of processing power to decode
- When used in conjunction with the secondary stream, primary stream can only be saved directly to the disk without decoding, based on the motion detection on the secondary stream
- Primary stream is used/shown when a camera is viewed individually on a client (= when a higher quality is needed)
- Low resolution, fps and bitrate will require less processing power to decode
- Will be used for motion detection, object detection and grid view
So in general, when we use secondary streams for the main decoding and motion detection, we can use up to (based on out-of-the-box cameras we have tested) 8 times as many cameras on the same hardware than before. Tests for this 8 times claim was made using an basic i5 workstation.
For example, an out of the box camera is with the following settings:
- Primary stream: 2688x1520, 25fps, 6Mbps VBR max bitrate (avg bitrate seen from the recorder ~3Mbps)
- Secondary stream: 640x360, 25fps, 1Mbps VBR max bitrate (avg bitrate seen from the recorder ~80kbps)
This 80kbps stream is then being used for the motion detection and both streams are recorded based on this. So the network bandwidth required might increase a bit, but the load on the processor is decreased by a lot.