ARCHITECTURE

xSTUDIO has a modular design with a strong separation of key components. The internal message passing framework on which the components are built is exposed in C++ and Python APIs. This delivers the following benefits for developers:

  • C++ plugins can be authored allowing full control of the application down to the lowest level.
  • Python bindings and an embedded python interpreter allow for rapid development of scripts and plugin extensions.
  • Python interpreters running in a separate process can also connect transparently to an xSTUDIO session through a network socket. The provides full remote control with the benefit of separating the application and scripting environments and software dependency stacks, for example.
  • Implementing new image readers that support any conceivable image pixel layout (or even non image data) is straightforward thanks to a flexible API.
  • The viewport is independent of the rest of the GUI, and could even be embedded in other interfaces/applications that can provide an OpenGL surface for it to render into.
  • Novel viewport renderers can be added to visualise non-image data (see above!)
  • The application backend is fully independent of the GUI components allowing headless operation and remote control, for example.
  • API hooks are provided for developers to implement colour management plugins. We provide a fully developed OCIO v2 based plugin which will already satisfy most requirements, however. 

 

xSTUDIO’s design is intended to help achieve the following headline performance goals:

  • Maximising video playback performance in terms of image size, bit depth and frame rate – both for read/decode and display stages.
  • Maximising concurrency and utilising all available compute cores when necessary to, for example, accelerate the building of large playlists and timelines.

xSTUDIO is built using technologies already established for the VFX industry:

  • The core codebase is written with C++ ( C++17 standard).
  • The UI layer is built with Qt QML v5.15.
  • Media reader plugins for OpenEXR and FFMPEG are included.
  • The viewport uses OpenGL 4.3.
  • The build environment requisites and dependencies are aligned with VFX Platform 2021 specification.
  • Comprehensive build instructions will be provided for CentOS, Red Hat EL8 and Ubuntu 22.04 LTS
  • Full MacOS and Windows compatibility is planned for 2023.

Across the codebase the ‘actor model’ design paradigm is employed where class interfaces are implemented through a purely message passing mechanism. This has been achieved using the ‘C++ Actor Framework’ open source project and helps to provide many of the benefits listed above. As far as we know this is a novel approach for video playback software and we hope it will appeal to developers with an interest in learning new ways to deliver high performance software.

Open Source

DNEG currently uses xSTUDIO as a key part of the workflow in multiple live production environments, with thousands of active daily users distributed globally across the company.

xSTUDIO is under rapid development, with regular updates made to the open source repo. The code was shared at an early stage in its development to promote collaboration and input from the filmmaking community, and new features are coming online each month.

Access to the code base is available on the GitHub repo. A readme file is present to cover installation details.

Contact us

London

Vancouver

Mumbai

Los Angeles

Chennai

Montréal

Mohali

Bangalore

Toronto

Sydney