-
Notifications
You must be signed in to change notification settings - Fork 12
Home
Welcome to the CatraMMS wiki.
MMS (Media Management System) is a software platform permitting a centralized management of media contents.
- https://www.catramms.com: this is a link to the CatraMMS WEB page
- https://mms-gui.catramms-cloud.com: this is a link to the CatraMMS deployed in cloud where it is possible to test any functionality
- [email protected]: this is the email address to be used to have any kind of support
- MMS REST API
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:
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:
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:
- tutorial videos: https://www.youtube.com/@CatraMMS/videos
- support email: [email protected]
- info email: [email protected]
- MMS GUI: https://mms-gui.catramms-cloud.com/catramms
- REST MMS API: https://app.swaggerhub.com/apis-docs/giulianoc/MediaManagementService
- API base URL: https://mms-api.catramms-cloud.com/catramms/1.0.1/...
- Delivery URL (authorization by parameter): https://delivery.catramms-cloud.com/catramms/1.0.1/...
- Delivery URL (authorization by path): https://delivery-path.catramms-cloud.com/catramms/1.0.1/...
- Push binary URL: https://binary.catramms-cloud.com/catramms/1.0.1/...
-
Tutorial
- User registration
- Add content - Pull
- Add content, on success send an email
- Two Tasks (Add content) to be executed in parallel
- Add a set of video encoding profiles
- Add two contents, send an email, concat, cut and encode
- Add a single image profile (Logo)
- Add a video, an image, encode the image, overlay the encoded image on the video
-
Workflow Ingestion
Workflow As Library
Add-Remove Content
Delivery
Social Network Delivery
Encoding (video-audio-image)
Media activities
Overlay
Frame Processing
Recorder
Communication
Utilities
Computer Vision