Master/Slave synchronized playback in Immersive Player PRO v2.x

Master/Slave synchronized playback in Immersive Player PRO v2.x

The second generation (v2.x) of our most affordable and complete Immersive Player PRO is here.
One of the most important new feature is the possibility for real-time, synchronized, frame accurate distributed playback of media over multiple decoding and rendering PCs.

It is not uncommon now days that the media content with size of 8K, 16K and larger are used to create large high definition displays using multiple projectors.

Decoding such a large encoded media on a single PC is usually not possible due to the hardware limitations. The CPU based decoding of content of 8K or larger can not be done with real-time requirements , especially when using frame rates of 60 fps or more.
The available HW decoders available in the graphics cards hardware lack the support for high resolution content and can not provide decoding for such content.

As a result, the obvious option is to split (crop) the media content in smaller sizes and tho playback each part on a separate PC and synchronize the playback over all the PCs involved into playback of the complete media content. Small and less powerfill “off-the- shelves” PCs can be used to distribute the decoding and playback of the large media. For example several networked Intel NUC PCs (or similar) can be used to decode and playback part of the content (pieces of 2K or 4) on each PC.

 Here it comes Immersive Player PRO Master/Slave mode.

Every instance of Immersive Player PRO can be configured as a Master or Slave in a clustered synchronized media decoding and playback.

 000

The Master instance is responsible for distributing the media playback state as well and distribute and synchronize the time codes among the connected Slave instances.
The Master instance contains and manages the playlists and play items of the media show to be played.
The Slave instances are locked to the Master. One or more Slave instances can be locked to the same Master. The Slave instanced do not contain and manage playlist and play items. They are just following the Master instance playback state.

The PCs running Immersive Player PRO Master and Slave instances are connected in a local network. A separate wired 100Mb/s or 1Gb/s network is preferred to ensure quick and accurate synchronization of the playback state and the playback time codes.

The Master instance maintains the accurate playback time clock and distributes the clock to all Slave instances. The Slave instances use the same clock to follow the playback state of the Master instance. This allow frame accurate synchronization of the Master and Slaves playback state and the playback time. Even with 60 Hz and 120 Hz playback , the timelines of the Master and Slave are accurately synchronized.

 001

This synchronized distributed playback can be used in huge video wall setups like this one. The large video media can be split in multiple sections and each smaller section can be played back on one PC connected to one or more displays.

 002 

Similar distributed media playback can be used in a multi-projection setup. For the purpose of this blog , we will use a 4 projection setup on a curved projection screen. The projectors are 4K projectors and the content we will prepare and play is 8K.
The content will be split and played back on 4 PCs, each running Immersive Player PRO.
Each PC is connected to one 4K projector.

 003

On order to auto-align this projector setup we will use Immersive Calibration PRO with a single web cam to auto align the projection and export the alignment data.
Immersive Calibration PRO exports one _single.procalib file for each PC, as well as one MediaSplit.split for splitting the single media file. This split file describes how the media should be split in 4 pieces, each piece to be played back on each PC.

004

Each of the 4 PCs runs Immersive Player PRO. One of the PC is configured as a Master player and the rest of the 3 PC are configured as Slave Player.

005

  006

Now copy the corresponding exported _single.procalib file on each PC and load it into Immersive Player PRO display.

 007

Now it is the time to split the media into 4 parts and distribute and playback those parts on the 4 PCs.
For the purpose of this blog we will use this 8K demo video from youtube

https://www.youtube.com/watch?v=hVvEISFw9w0

 008

Immersive Player PRO includes tools to load a single media file and split the file in multiple files based on the exported MediaSplit file during the calibration. Based on the MediaSplit.split file, the software will produce 4 media files that are cropped exactly to match the projector coverage on the projection screen and match the needed geometrical correction and blending.

 009

Each split media file will be placed in a separate folder with the same name as the name of the remote PC display. Copy the split media files to the corresponding Master and Slave PCs. Use the same folder name (Ex: C:\Media\) on the Master and Slave PC.
Onen the Master Immersive Player PRO and create a playlist by adding a plyitem from the split media.
Start the Slave Immersive Player PRO. No additional action is required on the Slaves. They will connect and lock/sync with the master.

 010 

Press Play and the Master and the Slave instances of Immersive Player PRO will start playing back their part of the large 8K media.

 011

The final image on the projection screen is perfectly aligned and edge blended 8K video.

012