Applications & Libraries
Main Application
The Sofie TV Automation system consists of the Sofie Core which is the core application that serves the web GUI and handles the core logic.
Gateways
Together with the Sofie Core there are several gateways which are separate applications, but which connect to Sofie Core and are managed from within the Core's web UI.
- Input Gateway
- MOS Gateway Connects Sofie to a newsroom system (NRCS) and ingests rundowns via the MOS protocol.
- Spreadsheet Gateway Connects Sofie to a Google Drive folder and ingests rundowns from Google Sheets.
- Playout Gateway Handles the playout from Sofie. Connects to and controls a multitude of devices, such as vision mixers, graphics, light controllers, audio mixers etc..
- Quantel Gateway CORBA to REST gateway for Quantel/ISA playback.
Libraries
There are a number of libraries used in the Sofie ecosystem:
- ATEM Connection Library for communicating with Blackmagic Design's ATEM mixers
- ATEM State Used in TSR to tracks the state of ATEMs and generate commands to control them.
- CasparCG Server Connection developed by SuperFly.tv Library to connect and interact with CasparCG Servers.
- CasparCG State developed by SuperFly.tv Used in TSR to tracks the state of CasparCG Servers and generate commands to control them.
- Ember+ Connection Library to communicate with Ember+ control protocol
- HyperDeck Connection Library for connecting to Blackmagic Design's HyperDeck recorders.
- MOS Connection A MOS protocol library for acting as a MOS device and connecting to an newsroom control system.
- Quantel Gateway Client An interface that talks to the Quantel-Gateway application.
- Sofie Core Integration Used to connect to the Sofie Core by the Gateways.
- Sofie Blueprints Integration Common types and interfaces used by both Sofie Core and the user-defined blueprints.
- SuperFly-Timeline developed by SuperFly.tv Resolver and rules for placing objects on a virtual timeline.
- ThreadedClass developed by Nytamin Used in TSR to spawn device controllers in separate processes.
- Timeline State Resolver (TSR) The main driver in Playout Gateway, handles connections to playout-devices and sends commands based on a Timeline received from Core.
There are also a few typings-only libraries that define interfaces between applications:
- Blueprints Integration Defines the interface between Blueprints and Sofie Core.
- Timeline State Resolver types Defines the interface between Blueprints and the timeline that will be fed into TSR for playout.
Other Sofie-related Repositories
- CasparCG Server (NRK fork) Sofie-specific fork of CasparCG Server.
- CasparCG Launcher Launcher, controller, and logger for CasparCG Server.
- CasparCG Media Scanner (NRK fork) Sofie-specific fork of CasparCG Server 2.2 Media Scanner.
- Package Manager Handles media asset transfer and media file management for pulling new files and deleting expired files on playout devices in a more performant, and possibly distributed, way. Can smartly figure out how to get a file on storage A to playout server B.
- Media Manager (deprecated) Handles media transfer and media file management for pulling new files and deleting expired files on playout devices.
- Quantel Browser Plugin MOS-compatible Quantel video clip browser for use with Sofie.
- Sisyfos Audio Controller developed by olzzon