Table of Contents
Live View - Technical Implementation
This guide explains the technical details behind TetherX's live view streaming, including video formats, streaming technologies, and the trade-offs involved. For using live view, see Live View.
Camera Streams
Cameras typically provide two video streams plus snapshot capability:
- Primary stream - High resolution (e.g. 4K/6MP), high bitrate (e.g. 6Mbit), often H.265, 25fps
- Secondary stream - Lower resolution (e.g. D1), lower bitrate (e.g. 1Mbit), H.264, 10fps
- Snapshot URL - Full resolution single image over HTTP (refreshed once per second)
Tip: More expensive or specialist cameras (e.g. 180° or 360° fisheye) may provide additional streams including dewarped views.
Video Formats
H.265 - Best compression (approximately 50% smaller than H.264 for equivalent quality), but limited device support. Requires Windows 10 1709+ with HEVC extensions, macOS Big Sur 11.0+, or Chrome 108+ with hardware support. See caniuse.com/hevc for current compatibility.
H.264 - Widely compatible across all devices. TetherX defaults to H.264 for maximum compatibility. See H.264 vs H.265 for details.
VP9 - Google's open-source alternative to H.265. Limited hardware support means higher resource usage - not recommended for multiple simultaneous streams.
MPEG4 - Legacy format, not compatible with modern devices without transcoding. Rarely seen on cameras made after 2008.
MJPEG - Individual images rather than video frames. 5-25x larger file size but compatible with everything and handles bandwidth fluctuations gracefully.
Transcoding vs Proxying
Transcoding decodes the camera stream and re-encodes it into a different format. This allows precise control over bitrate and resolution but requires significant processing power.
Warning: Transcoding is resource-intensive. A TetherBox Pico that records 10 cameras can only transcode 2 simultaneously. Enable transcoding per-camera via the Advanced tab if needed.
Proxying (what TetherX uses in most cases) maintains the original video stream but repackages it into different containers (e.g. .mp4 for recordings, .ts for streaming). This is efficient but means you're limited by the camera's configured bitrate.
If you need to view 16 cameras at 1Mbit each but only have 10Mbit upload, it will not work without either:
- Changing your camera settings (what budget equipment typically does)
- Transcoding (resource-intensive)
Video vs Images
TetherX uses both images and video depending on the situation. Understanding the trade-offs helps explain why different modes behave differently.
Frame Dependencies
Every video frame depends on previous frames. Skipping frames causes visual corruption:

Systems either show broken images (UDP streaming) or a loading spinner while waiting for the next keyframe (typically 1 second, but sometimes longer depending on camera settings).
Advantages of Images
- Initial load is 5-10x faster (1 frame vs 25+)
- Handles bandwidth fluctuations seamlessly (frames can be skipped without corruption)
- Lower latency - better for PTZ and two-way audio
- Compatible with all cameras and devices
- Can view 100+ cameras simultaneously with low resource usage
- Image transcoding efficiently reduces bitrate when viewing many cameras
- Recording quality is not impacted by live viewing
Disadvantages of Images
- 5-25x higher bandwidth for the same frame rate
- Lower fps in practice when bandwidth is constrained
Advantages of Video
- 5-25x lower bandwidth for the same frame rate
- Much smoother motion (higher fps)
Disadvantages of Video
- 5-10x longer initial load times
- Higher latency makes PTZ and audio challenging
- Will not load if bandwidth cannot sustain all streams
- Cannot gracefully adapt to bandwidth changes
- Some manufacturers reduce recording quality to accommodate live view
Streaming Technologies
TetherX uses two primary streaming methods and switches between them automatically:
HLS (HTTP Live Streaming)
Used by Netflix, Amazon Prime, etc. Pioneered by Apple. The browser requests a playlist providing the next available video file. Streams are broken into 1-2 second segments (duration set by keyframe interval on the camera).
TetherX offers three HLS latency profiles:
- Ultra-low latency (~1 second) - Used during PTZ control for responsive feedback
- Low latency (~1.5 seconds) - Balanced responsiveness
- Balanced (~2-3 seconds) - Default, prioritises reliability
Requires sufficient bandwidth - will show a loading spinner if connection cannot keep up.
Image Streaming
Adaptive image polling at approximately 1fps. Each image loads completely before requesting the next. Automatically adapts to available bandwidth and device performance. Used as the fallback when HLS is unavailable or impractical.
Internal Protocols
TetherX uses RTSP/RTP internally to receive streams from cameras before converting them to HLS for web browser compatibility. These protocols require plugins or custom software, which is why TetherX handles the conversion server-side.
How TetherX Selects the Technology
TetherX uses a size-based fallback system that automatically selects the best streaming method.
Connection Types
TetherX detects three connection types automatically:
- Local - Your device is on the same network as the TetherBox. Streams directly via LAN for lowest latency.
- External - Direct connection to TetherBox over the Internet (when external access is configured).
- Proxy - Streams routed through TetherX cloud servers. Most reliable but slightly higher latency.
Fallback Chain
For each camera, TetherX tries streaming methods in order until one succeeds:
Large live view boxes (720x576 pixels or larger):
- Primary HLS stream (high quality)
- Secondary HLS stream (lower quality)
- Images (1fps fallback)
Small live view boxes (below 720x576 pixels):
- Secondary HLS stream
- Images
Monitor-only cameras:
- Images only (HLS is not available)
iPhone devices:
- Images only (for better battery and performance)
Quality Toggle
The Quality toggle in live view controls streaming behaviour:
- Auto - Uses the fallback chain above, selecting video or images based on live view box size
- Preview - Forces image-only mode for all cameras (lower bandwidth, lower fps)
Per-Camera Override
Click the stream icon on any camera to override the automatic selection:
- Auto - Use automatic selection
- Primary (HQ) - Force high-quality HLS stream
- Secondary (LQ) - Force lower-quality HLS stream
- Preview - Force image-only mode
Tip: If you experience buffering, try switching individual cameras to Preview mode or use the global Quality toggle.
Comparison with Manufacturer Software
How Hikvision iVMS Works
Hikvision iVMS (and Dahua PSS) achieve smooth video by temporarily reconfiguring cameras to send lower bitrate streams when bandwidth is limited.
Danger: If iVMS is closed or loses connection during this reconfiguration, the camera may permanently record at lower quality, potentially losing critical evidence.
Because many cameras only support one stream above D1 resolution, this approach reduces both live view AND recording quality simultaneously.
In testing with a 5Mbit/200ms connection streaming just 4 HD cameras:
- iVMS: Took over 10 seconds to get an initial image, but motion was smooth (25fps) once loaded. However, the NVR recorded blocky, degraded footage.
- Images: Loaded almost immediately with significantly higher image quality, but at 3-4fps. Recording quality was unaffected.
TetherX's Approach
- Never modifies camera recording settings
- Prioritises recording integrity over live view smoothness
- Uses images when bandwidth is limited (lower fps but full quality per frame)
- Works across all manufacturers and firmware versions
When viewing a few cameras from a single manufacturer on one device, manufacturer-specific software may appear smoother. However, when managing 32+ cameras across multiple manufacturers, sites, and fluctuating bandwidth, TetherX's approach provides more reliable operation without compromising recorded evidence.
Tip: TetherX is an open platform with a focus on convention over configuration. We prioritise the integrity of recorded footage above live view smoothness and implement approaches that work across all recorders, cameras, and viewing devices.
Related Articles
- Live View - Using live view features
- Local Streaming - Access video directly from your TetherBox without Internet
- Automatic Configuration - How TetherX configures cameras
- TetherBox Recording Capacity - Bandwidth and storage estimates