Milestone’s newly released version 2019R3 includes some really great new features. One of the most interesting is a new and greatly requested feature called adaptive streaming that will help reduce network throughput, and more importantly the stress on the client hardware needed to view many cameras at once.
XProtect adaptive streaming is available in version 2019R3 of Expert and Corporate and requires both an upgrade of the server and client software. (It does NOT work on Pro+ or Express+)
What is Adaptive Streaming?
This new feature will enable users to receive lower resolution streams from the recording server when a high resolution one is not required, for example when displaying video in the smart client or smart wall in window sizes smaller than a full screen. This will give users smoother viewing and a better user experience, a lower total cost of ownership (TCO) due to less hardware needed to decode unnecessary high-resolution video and a better use of bandwidth that can then be utilized for other needs in the organization.
Adaptive Streaming is an XProtect feature, designed to improve Smart Client performance by dynamically reducing the stream resolution. It allows smart client to automatically choose the lowest (“most appropriate”) resolution video stream available to fit the view tile size.
As an example if you had a 4 x 4 view on a 1920 x 1080 resolution monitor each tile is in Smart Client would be only 480 x 270 in size. Now, lets say you had 16 x 1080p cameras you wanted to stream into that 4 x 4 view.
Previous versions of the Smart Client would pull 16 x full 1080p video streams into those tiny 480 x 270 tiles. This would take up unnecessary network bandwidth but more importantly would unnecessarily tax your workstations CPU and GPU to present those 16 streams of 1080p.
With Adaptive Streaming, you can set up multiple streams, at different resolutions, and Smart Client will choose the most appropriate one to fit the actual resolution of the tile. So in our example, if you had a second stream set up for 480 x 270 Smart Client will dynamically pull the 2nd camera stream and only pull 16 x 480 x 270 streams greatly reducing the load on the workstation.
What do you need for Adaptive Streaming to work?
- XProtect Expert or Corporate version 2019R3 (see hotfixes here)
- Smart Client 2019R3 (see hotfixes here)
- Set up multiple streams on each camera at different resolutions
- Enable adaptive streaming in Smart Client profile under Advanced. Default is Enabled.
- Check all caveats and considerations here
- If you want to make these change fast and easy check out Boring Labs The Boring Toolkit