Mv Embed
Mv_Embed is a javascript library for easy embedding of ogg theora/vorbis media with the html5 tag. Once the script is included you can include an inline ogg theora clip with:
<video src="mymovie.ogg">
Mv_embed will then rewrite the video tag to whatever playback method is available on the client be it native support, java cortado, mplayer or vlc
Mv_Embed also provides the base library for other core media functionality for more info see projects overview on mediaWiki.
Contents |
Multiple source types
If you want to be accessible to users that only have flash playback you can include both an ogg and flash video like so: (we do that here on metavid.org)
<video>
<source type="video/ogg" src="mymovie.ogg" />
<source type="video/x-flv" src="mymovie.flv" />
</video>
Multiple sources, Multiple timed text tracks and Simple remote Embedding
we support the ROE (Rich Open multi-track media Encapsulation) format. This can be used for clean remote embedding multiple text/video/audio tracks in a single xml encapsulation (with MetavidWiki we make this xml accessible over javascript requests for remote embedding) ..
<video roe="my_roe_file.xml">
Also see usage in this blog
PHP based Flash Media Server
- To accompany the support of flash video a php based flv segment media server has been written.
- Based off of FLV4PHP
- Supports arbitrary clients that support flv playback. (like using VLC to play back flv)
- Tested with Sorenson h.263 flash baseline codec but in theory would work with other flash codecs in the flv container.
- sample usage to pull 20 to 40 seconds from myCLip.flv
<video src="mvFlvServer.php/myClip.flv?t=0:0:20/0:0:40" >
More options
There are ofcoruse many other options (like thumbnail,poster, size, inline transcript display etc) (not all of which have been well documented yet) but in general we aim to support as much of the html5 video spec as possible and provide a rich player interface for using html5 video
Usage
This site [metavid.org] of course make heavy use of the library. Remote embedding of metavid content also uses the library. When using the remote embedding feature be mindful of Security Considerations
If your site uses mv_embed you can list it here.
SVN access
MV_Embed is released under the GPL2 and hosted by the wikimedia foundation. In general the svn version represents the best version it can be checked out by running:
svn co http://svn.wikimedia.org/svnroot/mediawiki/branches/new-upload/js2/mwEmbed
Download Releases
(new release will be made available shortly)
Mv Embed v.1.0rc1
changes in .7
- Supports draft ROE (Rich Open multitrack media Encapsulation) spec for xml distribution of media.
- Single url to roe document can encapsulate all metadata.
changes in .6
- added plug-in selection tool
- added msg system for compatibility with translations
- add support for relative file or path names for media files for cortado.
- added support for safari
- will force load javascript instead of DOM injection
- slower on pages without video clips
- added "experimental" support for "sequences" and editing. (see the tail end of the screencast for the editor)
- improved playlists usage
Features
- Support client playback with oggplay, vlc-plugin, java cortado or generic application/ogg plugin (mplayer, totem) (also has been tested with ff3 video builds) & apple quicktime xiph components
- Abstracts all these plugin types to a near html5 spec, letting web developers target a single abstraction for multiple underlining plugin or native video support systems.
- Support HTML rewriting of <video> and <playlist> tags
- Uses an HTML interface to control playback
- Can be remotely embed
- dynamically includes required libraries to reduce download size and to streamline code with jQuery while only requiring a single javascript line for remote embedding.
- All client side javascript mode (no php necessary if media is on the same server as the page embedding the clip )
- Playlists
- supports m3u, xspf, and itunes video rss and inline playlist
- supports playlist with automatic progression (oggplay, vlc)
- supports plalists with manual progression. (java, generic embed)
CMS integrations
It should be fairly strait forward to add mv_embed support to your favorite CMS initially wordpres and mediaWiki will be targeted.
- MediaWiki Extension works by simply allowing the <video> and <playlist> tags inline wiki text.
- mvEmbedMW.05a the mediaWiki extension for using mv_embed in
Inline Playlists Format
note: we have abandon inline format in favor of a high level resource description xml format. More info to follow.
Usage
To use simply plop the mv_embed folder onto your server somewhere. Run sample_page.php to ensure its working. if you look at the sample page it has several usage examples.
Known Issues / TODO
Here are a few known issues/ features that are still left to be done
- add support for mplayer and improve support for native ogg theora supported browsers (firefox3 & Opera builds)
- enable skinning via CSS/minimal js
- CMS extensions
- Extend Cortado
- add js hooks so to support pause/play, css/html based playhead, and endOfClip callbacks.
- add playlist support to cortado
- merge annodex support into mediaWiki's forked version of Cortado
- Playlist todo
- Fix status updates for playlists
- support a few more of the video rss formats (atom etc)
- add preloading of future clips for smooth playback where supported. (oggplay, native ff3 & opera?)
- also when pre-loading do file read for duration (instead of url based detection used now)
- Javascript refactoring
- take more advantage of jQuery ...some code segments could be cleaned up a bit using jQuery convenience functions and selectors.
- The Future
- With the Multi-Track editor mv_embed will be the "player"
- support audio levels, video transparency, timelines, effect curves, custom transitions etc.
- Effect hooks for the emerging world of svg + video in the browser [1] [2]
- take a look at proposed xml formats for open shared video sequences


