== 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
