rETMH/f9aba5ce55ebmaster
/
README
TimedMediaHandler
This extension provides a media handler for the Ogg, WebM, mp4 container format. When enabled, a player will be automatically embedded in the file description page, or any wiki page while still using the same syntax as for images.
- Broad support for input file formats
- Transcoder to make video at web resolutions when embedding clips in a page
- include support for timed Text per the w3c "track" recommendation
- use embedPlayer mwEmbed javascript module for playback
To install this extension, add the following to the end of your LocalSettings.php:
// You need mwEmbedSupport ( if not already added ) require( "$IP/extensions/MwEmbedSupport/MwEmbedSupport.php" );
// TimedMediaHandler
require( "$IP/extensions/TimedMediaHandler/TimedMediaHandler.php" );
Running Transcodes
Transcoding a video to another resolution or format takes a good amount which prevents that processing to be handled as a web service. Instead, the extension implements an asynchronous job, named webVideoTranscode, which you must be running regularly as your web server user.
The job can be run using the MediaWiki maintenance/runJobs.php utility (do not forget to su as a webserver user):
php runJobs.php --type webVideoTranscode --maxjobs 1
Kaltura HTML5 player library
TimedMediaHandler uses the Kaltura HTML5 player library for video playback, it relies on the <video> element as well as JavaScript.
For more information about the player library visit:
http://www.html5video.org/kaltura-player/docs
Libav
We use Libav for two purposes:
- creating still images of videos (aka thumbnails)
- transcoding WebM, H.264 videos
Wikimedia currently uses libav as shipped in Ubuntu 12.04 (libav 0.8.x). For best experience use that or any later release from http://libav.org.
On Ubuntu/Debian:
apt-get install libav-tools
For H.264 support:
apt-get install libav-tools libavcodec-extra-53
If you operating system does not include the required libav software, you can download static builds for multiple platforms at:
http://firefogg.org/nightly/
You can also build libav/ffmpeg from source. Guide for building ffmpeg with H.264 for Ubuntu: https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
Some old versions of FFmpeg had a bug which made it extremely slow to seek in large theora videos in order to generate a thumbnail. If you are using an old version of FFmpeg and find that performance is extremely poor (tens of seconds) to generate thumbnails of theora videos that are several minutes or more in length. Please update to a more recent version.
In MediaWiki configuration, after the require line in LocalSettings.php, you will have to specify the FFmpeg binary location with:
$wgFFmpegLocation = '/path/to/ffmpeg';
Default being /usr/bin/avconv.
ffmpeg2theora
We use ffmpeg2theora for extract metadata from videos, you will need a copy on your server. For best experience, use the latest release of ffmpeg2theora. At a minimum you need to use ffmpeg2thoera 0.27.
You can download static ffmpeg2theora builds for multiple platforms at: http://firefogg.org/nightly/
Set the ffmpeg2theora binary location with:
$wgFFmpeg2theoraLocation = '/path/to/ffmpeg2theora';
Default being /usr/bin/ffmpeg2theora.
oggThumb
We use oggvideotools for creating still images of videos, you will need a copy on your server.
Set the oggThumb binary location with:
$wgOggThumbLocation = '/path/to/oggThumb';
Download oggThumb from: http://dev.streamnik.de/oggvideotools.html
Cortado
Wikimedia uses Cortado Java applet from Xiph.org.
A .jar file compiled from this tree is provided in the OggHandler directory for your convenience.
For information about Cortado see:
http://theora.org/cortado/
See LICENSE.cortado, LICENSE.jheora and LICENSE.smoke for license information.
PEAR File_Ogg
Tim Starling, a Wikimedia developer, forked the PEAR File_Ogg package and improved it significantly to support this extension. He has taken over maintainership of File_ogg merged my changes into the latest release.
Thus, the extension will now work with either the bundled File_Ogg class, or a File_Ogg package from PEAR since version 0.3.0 or greater.
The PEAR bundle is licensed under the LGPL, you can get informations about this package on the pear webpage:
http://pear.php.net/package/File_Ogg
As per the usual convention, the PEAR base directory (the one with PEAR.php in it) must be in your include_path. Note you do not need to install PEAR, its included with the Timed Media Handler.
getID3
getID3 is used for metadata of WebM files.
getID3() by James Heinrich <info@getid3.org> available at http://getid3.sourceforge.net or http://www.getid3.org/
getID3 code is released under the GNU GPL: http://www.gnu.org/copyleft/gpl.html