Skip to content
Giuliano Catrambone edited this page Dec 8, 2023 · 122 revisions

Media Asset Management, Media Processing & Workflow automation.

Welcome to the CatraMMS wiki.

MMS (Media Management System) is a software platform permitting a centralized management of media contents.

Media Management System

Media Management System functionalities

  • manage "WorkSpaces" for the media contents. Every "Workspace" is a repository of media contents. Example 1: a Workspace could contain all the 'News' contents, another all the 'Sport' contents, ... Example 2: a Workspace could contains all the contents of 'User A', another Workspace could contains all the contents of 'User B', ...
  • manage custom workflows (an example of workflow: ingest two videos, concatenate them, cut the resulting video, overlay a logo on it, encode it using different profiles, ...)
  • manage libraries of Workflows. For example it is possible to create a workflow to retrieve a Picture from a video. It will be composed by several Tasks, a Task looking for a Face into the Video, if it does not find any face (OnError event), there is another Task getting a Picture at a specified instance (i.e.: 30 seconds since the starting of the Video). Then we have the encoding of the generated picture and so on. All that could be saved as a 'Workflow As Library' and it can be used as a simple Task in other Workflows.
  • manage custom metadata associated to each content
  • manage CrossReferences among the Media Contents (i.e.: ImageOfVideo, ImageOfAudio, FaceOfVideo, CutOfVideo, CutOfAudio, ...)
  • manage an array of Encoders, priority of each encoding and dedicated Encoders for each Workspace
  • implement media functionalities (i.e.: encoding, cut (KeyFrameSeeking, FrameAccurateWithoutEncoding and FrameAccurateWithEncoding), concatenate, overlay, slideShow, video speed down, picture in picture, check streaming for monitoring, ...)
  • multi tracks support in any fuctionalities (LiveRecorder, Concat, Cut, ChangeFileFormat, ...)
  • multi bitrate support
  • integrated with Kaltura
  • ingest VOD and Live YouTube contents
  • record live IP streaming, even from YouTube
  • live Recorder Virtual VOD
  • implement a proxy for live IP streaming and Media On Demand toward CDN or making live streaming available through HLS/DASH requests
  • Certified CDN: CDN77, AWS
  • Live-Grid (Live-Mosaic) to compose/merge several videos in one video (useful for example for monitoring/surveillance)
  • manage delivery of contents through the creation of authorizations by path or by parameter (tokens, time to live, max retries)
  • post media on socials (facebook, youtube, ...)
  • implement computer-vision (face recognition, face identification, ...)
  • implement image processing
  • player
    • edit video through user mark in-out. Once a cut is done, in case the cut is not accurate, it is possible easily to tune the cut to improve it.
    • edit audio through user mark in-out. Once a cut is done, in case the cut is not accurate, it is possible easily to tune the cut to improve it.
    • edit image cropping through user selection. Once a crop is done, in case the crop is not accurate, it is possible easily to tune the cut to improve it.
  • library available (actually only a java version is available)
    • to call easily any MMS REST API
    • to help building by a program any complex Workflow
  • support for ldap integration (if needed)

Videos describing the MMS platform can be found here: https://www.youtube.com/playlist?list=PLGEL22XaKJSUFgonUaeoG5iPnBonKtP9g

The box on the right describes all the REST APIs.

The platform is composed by three components:

  • API: it is the component managing all the MMS API (ingest a new Workflow, search into the MMS repository, create a new encoding profile, ...)
  • Engine: it is the orchestrator of the platform, the component caring about the execution of all the workflows and the manager of the Encoders
  • Transcoder: it is the component used for the encoding of the media

There is another component, the MMS WEB APP. It is a GUI of the MMS platform. It uses just the MMS APIs to interact with the platform.

The platform is scalable, it is possible to add any number of the above components. The work is automatically distributed among the running components. Just a sample: we can have two API servers, two Engine servers and ten encoders. It means all the API received by the platform will be distributed among the two API servers, all the management of the execution of the workflows will be automatically distributed among the two Engine servers and all the encodings will be distributed among all the ten encoder servers.

The platform implements High Availability requirements and it is extremely Robust. In the previous scenario, any stop or shutdown of any component does not create any outage of the platform and no running task is lost.

Here follow a presentation of the MMS and the Physical Architecture of the CatraMMS:

MMS Physical Architecture

The platform is already available in the cloud and all the URLs, examples and tutorial within the wiki pages refer the MMS cloud.

Here follows some screenshots of the CatraMMS you can find at the MMS Cloud:

WorkflowEditor WorkflowEditor WorkflowEditor WorkflowEditor

Media content might be a video, an audio, an image, a playlist.

It is designed to be used as a Service where a User has to register first and then will be able to use all the features of the platform. Once a User is registered, a Workspace is created for him and all the created contents will be associated to the Workspace.

Currently CatraMMS is using FFMpeg to encode the contents, ImageMagick and opencv for image processing and computer vision functionalities.

CatraMMS provides a detailed REST APIs from which it is possible to do any kind of activity toward the platform. Even a GUI/APP can be built based on the APIs.

Here follows a screenshot of the performance of the MMS deployed by a customer for a service in USA: WorkflowEditor

  1. Home

    Tutorial
    1. User registration
    2. Add content - Pull
    3. Add content, on success send an email
    4. Two Tasks (Add content) to be executed in parallel
    5. Add a set of video encoding profiles
    6. Add two contents, send an email, concat, cut and encode
    7. Add a single image profile (Logo)
    8. Add a video, an image, encode the image, overlay the encoded image on the video
  2. REST API version 1 (latest)

    Registration
    1. User registration
    2. Login
    3. Create Workspace
    4. Share Workspace
    5. Update Workspace
    6. Update User
    Workflow Ingestion
    1. Workflow
    2. Status/metadata of an ingestion
    3. Group Of Tasks
    Workflow As Library
    1. Workflow as Library
    2. Create-Update a Workflow as Library
    3. Delete a Workflow as Library
    4. Use of a Workflow as Library
    Add-Remove Content
    1. Add a new Content
      1. Pull
      2. Push
    2. Remove a Content
    3. Information about the contents saved into MMS
    4. Retention of a Content
    Delivery
    1. Download HTTP of a Content
    2. FTP of a Content
    3. Local copy of a Content
    4. Live Proxy
    5. VOD Proxy
    6. Countdown
    7. Check Streaming
    Social Network Delivery
    1. POST a Content on Facebook
    2. POST a Content on YouTube
    3. YouTube Live Broadcast
    4. Facebook Live Broadcast
    Encoding (video-audio-image)
    1. Add encoding profiles
    2. Remove encoding profiles
    3. Encode
    4. Information about the encoding profiles saved into MMS
    5. Predefined MMS Encoding Profiles
    Media activities
    1. Concatenate videos having same codecs
    2. Cut
    3. Video speed
    4. Extract tracks
    5. Add silent audio
    Overlay
    1. Overlay an Image on a Video
    2. Overlay a Text on a Video
    3. Picture In Picture
    4. Intro Outro Overlay
    5. Live Grid
    Frame Processing
    1. Frame of a video
    2. Periodical Frames of a video
    3. I-Frames of a video
    4. Motion JPEG video generated by Periodical Frames of a video
    5. Motion JPEG video generated by I-Frames of a video
    6. Slideshow video by images
    Recorder
    1. Live Recorder
    2. Live Cut
    Communication
    1. HTTP Callback
    2. Notification through email
    Utilities
    1. Change File Format
    2. Media Cross Reference
    Computer Vision
    1. Face Recognition
    2. Face Identification
    Configuration
    1. YouTube
    2. Facebook
    3. Live URL
    4. FTP
    5. E-Mail
Clone this wiki locally