Use-Cases

Perfect Synchronization: Solving Multi-Camera Live Streaming Challenges in SRTMiniServer

Introduction

Multi-camera live streaming has become a standard for high-quality event coverage. The task of synchronizing feeds from different angles is critical for sports broadcasts, concerts, and any production requiring multiple viewpoints. The primary technical challenge is maintaining perfect synchronizationbetween all incoming SRT video streams throughout the entire broadcast.

Minimal deviations in the encoding, transmission, or decoding pipeline, often measured in milliseconds, accumulate over time. This leads to a noticeable drift between streams, degrading the viewer experience and the quality of the result.
The Root Cause of Stream Desynchronization

Even initially synchronized cameras can eventually produce out-of-sync video. This is caused by micro-deviations during the encoding process, network transmission, and decoding. Individually, each delay is insignificant. However, their cumulative effect over several hours of continuous live streaming results in a visible and problematic drift between feeds.
The Solution: Automated Synchronization Control Algorithm

Version 2.6 of SRTMiniServer introduces an automated system for synchronizing incoming SRT streams. To achieve the best results, similar synchronization enhancements have been implemented in our encoder, SRTStreamerPRO.

How the Algorithm Works:

The server continuously analyzes the timestamps of incoming video frames.

  • For a lagging stream: If a frame from one source arrives with a delay that exceeds a set threshold compared to other streams, it is dropped. This pulls the lagging stream back into sync with the others.
  • For a leading stream: If a frame arrives too early, its playback is briefly paused to maintain the overall timing.

These adjustments occur infrequently and are minimal enough to be imperceptible to the viewer. Their purpose is to prevent the accumulation of drift, ensuring stable, long-term synchronization for multi-camera productions.
NOTE: by default, this algorithm always works when time synchronization is active
But it can be easily disabled via the sync_auto_control option in Advanced Settings.

Testing and Results

To validate the effectiveness of this method, a stress test was conducted: four channels were streamed via SRTStreamerPRO for 20 hours.

Result: As shown in the screenshots, all streams remained perfectly synchronized. The accumulated drift observed in previous versions was eliminated.

Compatibility and Integration: A Key Advantage

It is important to note that while our internal testing utilized SRTStreamerPRO for its seamless integration, the synchronization engine in SRTMiniServer 2.6 is designed for broad compatibility.

The system operates by reading standardized timing metadata. Therefore, you can effectively use any hardware or software encoder that supports embedding and transmitting a timecode signal over SRT. This includes professional-grade encoders from leading manufacturers such as:

  • Magewell
  • Haivision Makito
  • Kiloview

Furthermore, the solution extends to cameras with built-in streaming capabilities, like the JVC GY-HC series, which can directly output a timecode.

For ultimate flexibility, you can also integrate virtually any camera by employing an external timecode generator that encodes Longitudinal Timecode (LTC) into the audio channel. Our server can decode this audio-based timecode, ensuring all your sources remain in perfect sync, regardless of their native capabilities.

This approach provides a future-proof and highly adaptable solution for complex multi-camera productions.