Video Streaming
Overview
This article explains the methods used to stream video from Meraki MV cameras to the Dashboard for seamless viewing.
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.
The following are the workflow steps for streaming live video to the Dashboard using HLS.
-
The camera generates a playlist file named .m3u8, which contains a list of all the current .ts segment files on the camera. The length of these .ts segments may vary depending on the camera model.
-
The Dashboard establishes a secure connection to the camera and requests the playlist file. After retrieving the .m3u8 playlist file, the Dashboard reads it to identify the current .ts segments on the camera.
-
The Dashboard will send requests for each .ts segment on the camera.
-
Video is streamed to the Dashboard.
Stream delay
Starting with camera firmware version 4.8, we introduced low-latency HLS (LL-HLS) on all second generation MV cameras. With LL-HLS, latency for direct LAN video streaming has been reduced from over 5 seconds to just over 2 seconds. For cloud-proxy streaming, the latency will be higher, as the delay depends on the path the video stream takes over the 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
In large video wall deployments or when viewing a single camera stream, the camera’s video tile may be less than 540 pixels in height. When this occurs, a low-bitrate HLS stream is initiated for these cameras. This significantly reduces bandwidth consumption and lowers workstation hardware requirements for large video wall deployments. The low-bitrate stream is set to 540p at 400 Kbps and cannot be configured. Due to the resolution of the video tile, there is no loss in image quality.
On the Vision portal, when a video tile is enlarged to exceed 540 pixels in height (e.g., when a single node is selected from a video wall), the video stream will switch 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.
Adaptive bitrate streaming can also occur with Safari and iOS when the Dashboard detects a potential bandwidth constraint.
The quality of recorded video is not affected by adaptive bitrate streaming, and historical footage will always stream at the quality and bitrate at which it was originally recorded.
Cloud proxy vs. direct streaming
There are architectural differences between streaming video directly from the camera and from the cloud, clients can stream video from anywhere in the world as long as they have internet connectivity.
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 ensure that Layer 3 firewall rules do not block interVLAN routing between the client and camera subnets. Blocking this routing can lead to unnecessary WAN bandwidth usage and delays due to cloud proxy failover.
The source port used for direct LAN streaming depends on the browser and operating system of the client device. This port, referred to as an ephemeral port, would be covered under a TCP Any rule. The destination port used for this purpose is TCP 443.
Disable SSL inspection upstream of a Meraki security camera to prevent blocking the creation of cloud proxy streams.