The OTT Media Service, included in the Axinom Mosaic solution, enables you to manage large content catalogs. Find out about the details of its backend and frontend.

Media Service

The Media Service enables you to manage large content catalogs as part of an OTT (over-the-top) streaming solution. It allows you to manage hundreds of thousands of media entities (Movies, TV shows, Seasons, Episodes, etc.), including license management for multiple regions.

It offers automated workflows to ingest media metadata and orchestrate the transcoding, encryption, packaging, and publishing of the related video assets and the import of image assets. The system is designed to handle valuable studio content in a secure way. It enables customers to validate and publish the metadata to the catalog service from where the content is available to all end-user devices.

The micro-service backend and the micro-frontend are available with their full source code as a part of the Mosaic Media Template. It enables you to use all the existing functionality and to fully adjust it to your business needs.

ott media service container
Figure 1. OTT Media Service container diagram


The micro-frontend workflows offer an intuitive GUI which is implemented in React. This GUI uses a common set of UI components, provided by the Mosaic UI library. Mosaic uses Piral as the micro-frontends engine. The workflows are fully customizable as they use the reusable components of Mosaic. You could also add your own implementations. The micro-frontend interacts with the media microservice backend via its GraphQL API.


The media workflow project produces a package that gets loaded into the Orchestration Application to provide the OTT media stations, tiles on the homepage, and, potentially, some extensions. See the Mosaic developer documentation for a full description of how the micro-frontends are registered.

The OTT media workflow package implements workflows to manage movies, TV shows, seasons, episodes, and collections. Each of them registers a tile on the homepage that starts the workflow to view and manage the corresponding entities. In addition to those tiles, the template also adds tiles for the ingest, snapshot registry, and settings for the movie and TV show genres.

Figure 2. Mosaic Media Template Homepage


The definitions of all movie related stations reside inside the Stations/Movies folder. Most of them consist of a React component file, a GraphQL query definition file, and, potentially, a Sass styles file.

When a user selects the Movies tile on the homepage, the MoviesExplorer will be loaded. The explorer station shows all the movies in the media service in a sortable and filterable list. The filters, grid columns, and renderers can be customized for your specific business needs or preferences.

Clicking one of the movies opens the details station of the movie. Additionally, there are also bulk operations available. For the movies, those include: to bulk create snapshots, publish or unpublish them, and delete multiple movies.

movie details
Figure 3. Mosaic Media Template Movie Details Workflow

The MovieDetails station provides ways to change the details of a movie itself (title, synopsis, description, etc.) but also to change its related data (tags, genres, cast, etc.). The template uses controls from the Mosaic UI library but you can easily create/use your own controls as well. In the MovieLicensing sub-station, the licensing information can be managed and further customized.

The MovieVideoManagement and MovieImageManagement stations provide options to manage the video and image assignments. The stations make use of extensions provided by the (managed) Video and Image service that provide components for browsing and selecting as well as displaying the metadata of the assigned videos and images, so the stations just need to care for storing and updating the assigned element ids.

Images have a specific image type. The image management station uses this to allow only images of a specific type to be assigned to the corresponding properties (movie cover vs movie teaser).

The publishing process and snapshot overview and details section allow to publish and unpublish the movies. The snapshot overview and detail stations show the history of snapshots and publications and are fully customizable.

TV Shows

TV shows are collections of seasons that contain episodes. They are managed in a similar way to movies. Therefore, most of what was written in that section, applies here as well.