Starz is a media holding, which started as a entertainment content distribution company and eventually moved into content production.
When we joined Starz in their software development efforts, they had been buying video content from wholesale and production companies, editing and adjusting it based on the viewers and media requirements and distributing it to retail companies or via satellite network to the viewers. Just several years ago Starz had diversified vertically into a video content production company, having just had produced a very popular and profitable “Spartacus: blood and sand” series.
With Starz we have worked on a large scale project concerning updating their pre-existing system of video- and meta-data transmission, ingestion, editing, scheduling and storage. That system had been created over many years and had become in parts obsolete, in parts not adequate for the new requirements and to a very large degree unreliable, unmaintainable and highly dependent on specific employees’ knowledge of its intricacies, requiring extremely large amounts of manual intervention and therefore becoming increasingly more and move vulnerable.
The core efforts on the project have been made in the direction of creating a distributed clustered infrastructure for highly automated video- and meta-data ingestion, processing, scheduling and synchronization of both automated and human processing steps. The cluster was to be controlled by a set of workflows (using Windows Workflow Foundation), designed and tailored based on the previous experience of Starz with the process.
Before we joined Starz in this effort, they had already made the first steps, automating many of the activities and their scheduling using Windows Workflow Foundation:
Windows Media Workflow at Starz Episode 1 – The Hardware
Windows Media Workflow at Starz Episode 2 – The Architecture
Windows Media Workflow at Starz Episode 3 – The Software
During our involvement, we created a highly reliable software for controlling the cluster on which a new workflow processing engine was to be run. As well as having developed the cluster-controlling software, we implemented the distributed workflows processing engine and ported the pre-existing workflows to the latest version of WWF at the moment.
In order for the human personnel to be able to control and use the cluster and workflows, we created a control center UI, designed in a highly modular manner, allowing to quickly and easily add, remove and bundle plugins responsible for particular stages of data processing based on needs, roles and credentials of particular users. This modularity allowed the control center to be utilized in situations as diverse as controlling the hardware nodes of the cluster, editing subtitles and quality of an episode and scheduling it for airing or even creating an absolutely new workflow with a mix of automated and human activities ad-hoc when needed and running it immediately on the cluster.