Table of Contents

Introduction

DMM is a flexible content ingestion system that is specialized in Digital Media processing, that takes RAW media assets as inputs, and outputs the content that will be streamed to the end user. It integrates with a multitude of different file systems, transcoders, DRM systems and other tools, and allows multiple ingestion workflows.

Its main components are:

Content Importer

The Content Importer is responsible for gathering the metadata a Digital Media that will be ingested, normalizing it to the data model in the CMS, sending this normalized data to the CMS, and creating the corresponding processing job in DMM.

Currently, it allows multiple type of content to be ingested, like Videos, Images, Music and Games, with multiple industry metadata standards being supported (CableLabs 1 and 3, DDEX 3 and 4, and Genexies), but it is completely extensible, so it can be customized by the project team to allow other metadata standards to be ingested.

DMM API

The DMM is a component that provides digital media processing workflows, specialized in audio and video content for streaming on-demand, integrating with multiple third-party service providers and software. It takes care of job creation, workflow management and demand distribution.

DMM Agents

Which are smaller, self-contained, background tasks that take demands from the DMM API, and process them according to its responsibilities, the main ones being:

  • File Transfer (ex: from content origin to local working directory);
  • Video Transcoding (supporting multiple transcoder, like AWS MediaConvert, Elastic Transcoder, Ateme Titan, Elemental, Harmonic, etc)
  • DRM Protection (PlayReady, Widevine, FairPlay)
  • Image Resizing and Processing
  • Upload to CMS

Apart from the DMM Agents that are provided by default, starting from DMM v6.0, it is also possible to write new custom agents for other tasks that are specific for a customer needs, that can be freely integrated anywhere in the processing workflow.