Local streaming is where the feed from a Verkada camera is forwarded directly to the accessing device, rather than the stream being accessed from the cloud.
This feature reduces the amount of traffic sent and received from the internet. When viewing a camera’s stream, the camera automatically attempts to transition to local stream mode.
When you access a camera’s live footage remotely (when local streaming isn’t possible), the video proxies through the cloud and is cached to speed up retrieval times and playback. This approach enables large numbers of simultaneous viewers without negatively impacting the bandwidth of your local area network (LAN).
Requirements for local streaming
The accessing device must be able to reach the camera's private IP.
Port 4100 TCP/UDP must be open—bidirectionally, between the client and the camera.
No proxies can be present between the client and the camera.
See Required Network Settings for Cameras for allowlisted domains.
A camera will be able to SQ local stream but not HQ local stream when it is configured for H265 but the end user is using an unsupported H265 browser and/or device. For more information see Camera High Efficiency Video Encoding (HEVC).
Identify if your device is local streaming
View | Example |
Local stream on a web or mobile browser | |
Local stream on Command mobile app | |
Remote stream on Command mobile app |
How local streaming works
The camera’s domain name system (DNS) record needs to be registered.
Verkada Command instructs the streaming device to attempt to establish a local stream with the camera.
The streaming device requests the camera’s DNS record.
The streaming device establishes a secure connection with the camera.
The camera’s feed is sent directly to the streaming device.
Step 1: Camera’s DNS record is registered
When the camera connects to Command, it shares its metadata, including its private IPv4 address. Verkada uses this data to provision a public type A DNS record with the private IP address of the camera. Local DNS servers can now resolve requests for the Fully Qualified Domain Name (FQDN) of the camera. This DNS record is utilized for local streaming.
Get a camera's FQDN
In Verkada Command, go to All Products > Cameras > camera's live stream.
Right-click anywhere, click Inspect and locate the Network tab.
Filter results with
ping
and refresh the page.The ping traffic contains the FQDN of the camera you are viewing.
Example: Get a camera's FQDN
Step 2: Transition to local streaming
When the camera’s live stream is accessed, the streaming device tries to change to local streaming. If the private IP address of the camera is reachable from the device and the proper domains are allowed on the network, the streaming device establishes an HTTPS connection with the camera to directly get the live feed.
Step 3: Streaming device requests the camera’s DNS record
When a camera feed is accessed, Command directs the streaming device to establish a connection to the FQDN of the camera.
The accessing device sends out a standard DNS request (UDP port 53) for the FQDN of the camera.
DNS resolves the FQDN to provide the private IP address of the camera to the accessing device.
The device attempts to establish an HTTPS session over port 4100. If the device cannot reach the private IP of the camera, the process terminates here, and the stream does not transition to local.
The private IP of the camera matches these settings from Command:
Step 4: Streaming device establishes a secure connection with the camera
If the private IP of the camera is reachable, the TCP session is initiated. The SSL handshake occurs (TLS 1.2), and the HTTPS session is established. This ensures traffic is encrypted and secure. From this connection, the SQ live feed of the camera is accessed.
Browser display of request on port 4100:
Packet Capture showing TCP handshake for the camera’s private IP on port 4100:
TLS Key Exchange showing the publicly-signed certificate presented by the camera:
Step 5: Camera’s feed is sent directly to the streaming device
Once the secure connection is established, the camera sends the video to the client:
Troubleshooting
If you are experiencing issues with local streaming, try the following:
Verify the cameras are online and streaming as expected.
Verify the network configuration:
Your streaming device is on the same local network or is able to route to the camera's network.
Port 4100 TCP/UDP is open—bidirectionally, between the streaming device and the camera.
No proxies are present on the network.
Verify the streaming device:
Is updated with the latest firmware or software updates.
Clear your browser’s cache and cookies, or try using an incognito/private browsing mode.
Test local streaming on a different device to determine if the issue is device-specific.
Need more help? Contact Verkada Support.