Low-latency HLS available with Camera 4.8 beta firmware
As @PhilipDAth announced in his post yesterday, we've added support for low-latency HLS (LHLS) to second generation cameras (models ending in "2") running camera 4.8 beta firmware. We know this was a much awaited feature, and we are excited to make it available! I wanted to share some additional details with everyone, as well as provide a bit of background on how MV cameras stream video for those that are new.
Meraki MV cameras use HTTP live streaming (HLS) as the delivery mechanism for video. It's a protocol that was designed by apple for streaming media, and works by creating a collection of small files which are downloaded by the web browser and seamlessly played back. Video delivered this way is simple for the browser to interpret, and removes the need for special software or browser plugins to stream video.
The simplicity is why we chose to use it for our video streaming, but the downside is that there is a delay. The buffering period required by HLS can lead to a delay between 5-10 seconds for LAN direct streams. In many cases, this delay is acceptable, but it can become a concern in some live monitoring scenarios where seconds count for reaction time.
LHLS reduces this stream delay to less than 2 seconds when streaming on the LAN. (The delay when using a cloud-proxy stream is also reduced, but it is dependent on the path the video takes from the camera to the viewing device.) This makes it ideal for real-time monitoring situations, like
Healthcare workers monitoring patients
First responders working in emergency situations
Security guards or other personnel monitoring live video or video walls
All networks running 4.8 will have LHLS enabled by default for all second generation cameras, and all live video features will continue to work with LHLS. This includes:
MV32 in warped and dewarped mode
Live link sharing
LHLS is not yet supported on the iOS app, and is not supported on first generation MV cameras (MV21 and MV71). For more information, please see the Viewing Video article on the documentation site.
For those of you that have tested out LHLS already, what has been your experience so far? We'd love to hear any thoughts or feedback you have to share!
Are you able to say if theres any plan on implementing LL-HLS support as an alternative to RSTP for local streaming?
This would solve a lot of challenges for us and I'm sure many others:
It would suddenly be possible to have local stream videowalls that include a large number of cameras
The latency/delay on the local stream would be within a reasonable threshold. Having local security cameras previews over RTSP that often show you something 10seconds in the past isn't ideal. The sub 3seconds that LL-HLS is capable of would be much more reasonable.
It would significantly lower the cumulative bandwidth overhead when a large number of cameras need to be previewed
If you are viewing a camera and have a direct IP connection to it (which usually implies it is on your LAN) then it will use LL-HLS to stream to you (the direct streaming is invisible to you, it just happens if it detects it will work).
You can't, however, configure an LL-HLS stream to go to a specific IP address like you can with RSTP.
I had a play with a raspberry pi using VLC and RSTP and didn't notice any lag myself.
Love LHLS. We have 100 MV 2nd Gen and I'm experiencing under 1 second delay when on the LAN. The prior 3-6 second delay was OK for our use-case, but this makes it so much nicer when it's almost real time. Thank you Meraki team.