MediaMosa:Open source video backend
Peter ForgacsMediaMosa developerMadcap
MediaMosa
What you can do with MediaMosa:
MediaMosa
MediaMosahttp://mediamosa.org
“MediaMosa is a robust, flexible and highly scalable media management platform. It is already helping deliver rich content (video, audio etc.) to educational organizations across the Netherlands.” (http://mediamosa.org)
MediaMosaOpen source video backend
What does it mean?
- Open source
License: Open Source under GPLv2 license (GNU General Public License version 2)
Framework: Drupal 6 / 7
MediaMosaOpen source video backend
- Video backend
User
MediaMosaVideo frontend
REST calls:POST, GET
XML
MediaMosa is a backend application.
Advantages of this separation:One backend can support multiple client sites.Easy integration for existing websites.
What about the frontend?
- There are different demo frontend applications. You may start with them: WLE, MediaMosa CK.
- You may create one. Your application should communicate with MediaMosa through REST calls.
With MediaMosa you can
- Upload videos and store them
- Transcode videos (eg. h.264)
- Generate video object, download link etc.
- Create still images
- Create metadata (title, description, DC, QDC)
- Create collections
- Stream your video's
- Create authorizations
Introduction: MediaMosa
Asset is a container.
Asset
Introduction: MediaMosa
Asset may have title, description etc.
Asset
TitleDescriptionDC, QDC fields
Introduction: MediaMosa
Asset may have mediafiles.
Asset
TitleDescription
Mediafile
Introduction: MediaMosa
A mediafile may have a video.
Asset
TitleDescription
Mediafile: Video (codec,filesize)
Introduction: MediaMosa
We can transcode a mediafile to an other format.
Asset
TitleDescription
Mediafile: Video(Original)
Mediafile: Video(Transcoded)
Introduction: MediaMosa
We can create an another mediafile (with video).
Asset
TitleDescription
Mediafile: Video(Original)
Mediafile: Video(Transcoded)
Mediafile: Video(Original)
Introduction: MediaMosa
Every mediafile may have still images.
Asset
TitleDescription
Mediafile: Video(Original)
Mediafile: Video(Transcoded)
Mediafile: Video(Original)
Introduction: MediaMosa
The asset has a default still (if there is any).
Asset
TitleDescription
Mediafile: Video(Original)
Mediafile: Video(Transcoded)
Mediafile: Video(Original)
Introduction: MediaMosa
A video site has assets with default stills.
Asset Title
Desc.
Asset Title
Desc.
Asset Title
Desc.
Asset Title
Desc.
Introduction: MediaMosa
A video page has an asset with video(s) and still(s).
Asset
Title Description
Videos site
Video page
Installing MediaMosa
Download: http://mediamosa.org
You need: LAMP, FFMpeg, Lua (LPEG)Recommended: Lav2yuv (MJPEG Tools) ...
Installation: Drupal / MediaMosa install profile
Make it easy
- VM Image on mediamosa.org
- Demo site on mediamosa.org
Performance improvements
If you need more power, you can separate your installation for:
- Admin interface
- Application interface(s) for REST calls
- Upload interface
- Download interface
- Job interface(s) eg. transcoding video files
Common DB server(s) and storage (SAN/NAS)
REST calls as a MediaMosa communication interface
- REST = Representational State Transfer
- GET calls for getting data
- POST calls for changing or creating data
- Output is XML
- Documentation of REST calls: http://mediamosa.org/api
MediaMosa.org API page
REST call: Parameters, Response fields, Exampleshttp://mediamosa.org/api
MediaMosa.org API page
REST call: Parameters, Response fields, Exampleshttp://mediamosa.org/api
REST calls as a MediaMosa communication interface
Example: /mediafile/$mediafile_id [GET]
<items> <item id="1"> <mediafile_id>6778</mediafile_id> <asset_id>7AkD</asset_id> <app_id>14</app_id> <owner_id>admin</owner_id> <group_id></group_id> .... </item></items>
REST call on WLE
How you can upload?
Your client application:- Create asset/asset/create [POST]Response: $asset_id
- Create mediafile/mediafile/create [POST]POST parameter: $asset_idResponse: $mediafile_id
- Create upload ticket/mediafile/$mediafile_id/uploadticket/create [POST]Response: Action URL, Upload progress URL (for upload progress bar)
Applications in action
Future / present developments
- Solr
- Atom, JSON, RSS feed
- Watermarking still images
- OpenAPI, oAuth, oEmbed
MediaMosa
Status page
MediaMosa
Browse and Statistics pages
MediaMosa
Configuration pages
MediaMosa
Configuration pages
MediaMosa
Configuration pages
MediaMosa
Configuration pages
MediaMosa
Configuration pages
MediaMosa
Configuration pages
Thank you for you attention!
Questions?
MediaMosahttp://mediamosa.org
Peter Forgacsforgacs at madcap.nlhttp://xweb.hu