Video Streaming
Overview
This article will describe the methods in which video is streamed from the Meraki MV cameras to the dashboard for easy viewing capabilities.
HTTP live streaming
Meraki MV cameras use HTTP Live Streaming (HLS) as the delivery mechanism for video. HTTP Live Streaming (HLS) is a protocol originally developed by Apple for streaming media. It works by creating a continuous collection of small files which are downloaded by the web browser and played back seamlessly. Video delivered this way is simple for a browser to interpret and removes the need for special software or browser plugins that can show the video.
Below are the workflow steps for streaming live video via HLS to Dashboard.
-
The camera creates a playlist file called .m3u8 that contains a list of all current .ts segment files on the camera. These .ts segments can vary in length based on camera model.
-
Dashboard will create a secure connection to the camera and request the playlist file. Once it retrieves the .m3u8 playlist file, Dashboard will read it to learn of the current .ts segments on the camera.
-
Dashboard will make requests for each .ts segment on the camera.
-
Video is streamed to Dashboard.
Stream delay
Starting with camera firmware 4.8, we released low-latency HLS (LL-HLS) on all 2nd Generation MV cameras. With LL-HLS latency for direct LAN video streaming has dropped from 5+ seconds to 2+ seconds. For cloud-proxy stream, the latency will be higher since the delay is dependent on the path the video stream takes over WAN.
The Meraki Display App for Apple TV currently does not support Low Latency HLS (LL-HLS) streaming. As a result, certain network configurations may experience latency exceeding 10 seconds.
Adaptive bitrate streaming
With large video wall deployments or viewing a single camera stream, the camera's video tile can be less than 540 pixels tall. When this happens, a low bitrate HLS stream will be initiated for these cameras. This will drastically reduce the bandwidth consumption and workstation hardware requirements for a large video wall deployment. This low bitrate stream is 540p at 400 Kbps and is not configurable. Due to the resolution of the video tile, there is no loss in image quality.
On the Vision portal, when a video tile is made larger than 540p tall (e.g. a single node is selected from a video wall), the video stream will go back to the high quality HLS stream.
Adaptive bitrate streaming indicators
When the normal HLS live stream is enabled, you will see the following "High bitrate stream" indicator at the bottom left of the video.
When adaptive bitrate streaming changes to low bitrate, you will see the following "Low bitrate stream" indicator at the bottom left of the video.
NOTE: With Safari and iOS, adaptive bitrate streaming can also occur when Dashboard detects a potential bandwidth constraint.
NOTE: Recorded video image quality is not impacted by adaptive bitrate streaming and historical footage will stream at the quality and bitrate it was recorded at.
Cloud proxy vs. direct streaming
There are a few architectural differences between streaming video directly from the camera and from the cloud. However, no matter where the client is physically located in the world, as long as it has internet connectivity, the client will be able to stream video.
Direct streaming
If the client has an IP route to the private IP address of the camera, a secure connection will be established between the two. This can occur when the client is either on the LAN, over site-to-site VPN or client VPN. In the LAN scenario, no WAN bandwidth is used for the video streaming. Direct streaming is indicated by a green checkmark in the bottom left corner of the video stream.
Cloud proxy streaming
If the client fails to have an IP route to the private IP address of the camera, it will failover to cloud proxy streaming. In this scenario, the client connection will be proxied by Dashboard to allow the video stream to establish. Cloud proxy streaming is indicated by a cloud symbol in the bottom left corner of the video stream.
Cloud proxy streaming server regions
When a Dashboard organization is created, a region is selected (North America, Europe, Asia, etc). MV security cameras will automatically choose the best cloud proxy streaming server based on the region selected.
Organization Data Region |
Cloud Proxy Streaming Server Region |
North America | United States |
South America | United States |
Europe | France, Germany, Ireland |
Asia | Australia, Singapore |
Avoiding cloud proxy on the LAN
It is important to make sure that layer 3 firewall rules do not block interVLAN routing between the client and camera subnets. This can cause unnecessary WAN bandwidth usage and delay due to cloud proxy failover.
The source port used for direct LAN streaming is dependent on the browser and operating system used on the client device, is referred to as an ephemeral port, and would be covered under a TCP Any rule. The destination port used is TCP 443.
Note: If SSL inspection is utilized upstream of a Meraki security camera, please disable. This will block cloud proxy stream creation.