Media Projects

This page hopes to outline media related projects. This should help keep developers on the same page in regards to improved media handling and key infrastructure support tools.

Kaltura
Kaltura.org many media components are developed in an open source development partnership with Kaltura.

Metavid
Visit the MetaVidWiki extension page for more info on the metavid extension. For more info on the metavid project you can visit metavid.org. Metavid integrates semanticMediaWiki, interfaces for editing temporal text data such as transcripts and semantic annotations, and interfaces for searching this temporal media metadata.

MwEmbed
MwEmbed is the evolution of the Mv_embed library. Instead of just supporting the embedding video interfaces, MwEmbed is a general library for embedding javascript applications.
 * See MwEmbed for more info and overview of code

Javascript Script Loader

 * ScriptLoader a php based script loader for on demand javascript class loading, grouping, minifying, gziping, and message localization. This allows the javascript to load the entire set of javascript libraries needed in one request. Enables a unified approach to translation of user messages in javascript based interfaces. For more info see the ScriptLoader page.

Add Media Wizard
Add Media Wizard is the tool for adding media to pages or sequences. Abstracts the remote repository architecture to work with the new upload api.
 * See Add Media Wizard for more info.

Firefogg integration
Working on including support for the Firefogg extension. (part of add media wizard) Also see the commons end user documentation

New Upload API
Based on the initial work by vodaphone and then Bryan Minh; the new upload api abstracts out the Special:Upload page into a few classes and then extends the mediaWiki an API to support upload contributions. My work is focused on bring that branch up-to-date and adding chunk support for breaking POST requests into 1 meg resumable chunks. The chunk support enables firefogg to progressively upload video content with resume on reset POST requests. also see the new-upload branch

Sequencer
The sequencer includes a javascript based reduced feature set SMIL interpreter with arbitrary image time serving and sequence playback and editing. Also includes some server side components.
 * See Extension:Sequencer page.

Clip Edit
Can be thought of as the figure editor or "clip" editor. We eventually want to this to be a feature rich layout and layer manipulation tool. Manipulations will be stored in a "stack" and not modify the underlining assets. This lets collaboration occur around the figure editing process. It will be usable inline figures in articles and for building "key frames" in sequences.

Currently just crop & video trimming is supported but the base pixastic-lib has been imported with plans to add in hooks to that library.

The same export mechanism for frame serving and exporting video sequences will drive the "flattening" of these figures (since the edit stack will likely include canvas manipulations we will render the figure server side or on the client and use that for display.

These "figures" or "clips" will be template for localization and reuse. All manipulations will be stored in floats (rather than pixel positions) to facilitate seamless scaling up by using higher resolution image assets. This documentation will be fleshed out a bit as the code is ;) We will try and use SMIL like descriptions for crops and filters.