The Sofie TV Automation system consists of the Sofie Server Core which is the core application that serves the web GUI and handles the core logic.
Together with the Server Core there are the Gateways which are separate applications, but which connect to Server Core and are managed from within the core web-UI.
Spreadsheet Gateway Connects Sofie to a Google-Drive folder and ingests rundowns from spreadsheets.
Media Manager Handles media transfer and Media file management for pulling new files and deleting expired files on play-out devices.
Playout Gateway Handles the play-out from Sofie. Connects to and controls a multitude of devices, such as vision mixers, graphics, light controllers, audio mixers etc..
There are a number of libraries used in the Sofie ecosystem, some of them are:
Timeline State Resolver (TSR for short) The main driver in Playout Gateway, handles connections to playout-devices and sends commands based on a Timeline received from Core.
Blueprints Integration Common types and interfaces used by both server-core and the user defined blueprints.
ATEM Connection Library for communicating with Blackmagic Design ATEM mixers.
Ember+ Connection Library to communicate with Ember+ control protocol
HyperDeck Connection Library for connecting to Blackmagic Design Hyperdeck recorders.
ATEM State Used in TSR to tracks the state of ATEM:s and generate commands to control them.
There are also a few typings-only libraries that define interfaces between applications:
CasparCG Server (NRK fork) Sofie-specific fork of CasparCG Server 2.1.
CasparCG Launcher Launcher, controller, and logger for CasparCG Server.
CasparCG Media Scanner (NRK fork) Sofie-specific fork of CasparCG Server 2.2 Media Scanner.