Extension:Video

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png
Video

Release status: beta

Implementation Special page
Description Allows new Video namespace for embeddable media on supported sites
Author(s) David Pean
Jack Phoenix
John Du Hart
Latest version 1.4
MediaWiki 1.18+
License GNU General Public License 2.0 or later
Download
README
Added rights

addvideo

Hooks used
ArticleFromTitle

CategoryPageView
ParserBeforeStrip
ParserFirstCallInit
ArticleDelete
UndeleteForm::showRevision
UndeleteForm::showHistory
UndeleteForm::undelete

Translate the Video extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

Video is an extension that allows you to import videos from different video services, such as YouTube, Google Video or Metacafe. The extension adds two new special page, Special:AddVideo, which all registered users or other users with 'addvideo' permission can access to add new videos to the site and Special:NewVideos, which lists all recently added video. The extension also adds <videogallerypopulate> parser hook tag.

Video additions are logged into the video log at Special:Log/video.

This extension was originally written by David Pean for Wikia, Inc. Some code cleanup was done by Łukasz 'TOR' Garczewski and Bartek Łapiński for Wikia, Inc. and by Jack Phoenix for ShoutWiki.

This extension requires r88235 or greater version of MediaWiki for the video undeletion feature to work properly.

Supported video providers[edit | edit source]

  1. DailyMotion
  2. Gametrailers
  3. Google Video
  4. MetaCafe
  5. MyVideo
  6. Sevenload
  7. South Park Studios
  8. Viddler
  9. Vimeo
  10. WeGame
  11. YouTube


Installation[edit | edit source]

  1. Download the source code files into $IP/extensions/Video/
  2. Create the required two tables, oldvideo and video, in the database; if you have command line access, you can do this by re-running the MediaWiki updater script, update.php
  3. Add the following into the wiki's LocalSettings.php:
    require_once("$IP/extensions/Video/Video.php");
  4. Installation can now be verified through Special:Version

Usage[edit | edit source]

After adding a video through Special:AddVideo, you can embed it into an article by using the syntax [[Video:Video's Name Here]] or <video name="Video's Name Here"/>.

To-do list/known bugs[edit | edit source]

  1. Make VideoPage::videoLinks() actually work (Special:WhatLinksHere support)
  2. Write the code for supporting 5min.com, Blip.tv, Nicovideo and Tangler.com

Developer Info[edit | edit source]

Provider classes for different video hosting sites are stored in the providers directory. Writing a new provider class is easy:

  1. copy the example provider class into the providers directory and name it accordingly (for example, ExampleVideo.php)
  2. autoload the new provider class in Video.php
  3. add the provider to Video::$providers
  4. enjoy!

Example provider class[edit | edit source]

<?php
 
class ExampleVideoProvider extends BaseVideoProvider {
	// Used to extract the $video_id from the URL
	protected $videoIdRegex = '#/watch/([a-zA-Z0-9_\-]+)/#';
	// Set this to the embed, and use $width, $height and $video_id appropriately
	protected $embedTemplate = '<object width="$width" height="$height"><param name="movie" value="$video_id">...etc';
 
	/**
	 * Gives all domains that this provider should respond to
	 *
	 * Second level domains are preferred
	 *
	 * @return array
	 */
	public static function getDomains() {
		return array( 'example.com' );
	}
 
	/**
	 * Return the aspect ratio for the video player
	 *
	 * Just what the player is set to by default: Width / Height
	 *
	 * @return float
	 */
	protected function getRatio() {
		return 512 / 296;
	}
 
	/**
	 * If there is more complexity to retrieving the $video_id for the embed
	 * code than a single regular expression, override this function.
	 * 
	 * If you make an HTTP call (eg. to an API) you MUST cache it with $wgMemc
	 * 
	 * @param $url String URL to extract the ID from
	 * @return bool|null|Object
	 */
	/*
	protected function extractVideoId( $url ) {
		// Check out HuluVideoProvider or Viddler for an example
	}
	*/
 
	/**
	 * Override this function for cases where the HTML embed code is complex
	 * and has special cases.
	 * 
	 * @return string Raw HTML to display the video
	 */
	/*
	public function getEmbedCode() {
		return '...';
	}
	*/
 
}
Social tools
SocialProfile OverviewRoadmapDeveloper infoScreenshotsHistoryUserStatus (GSoC 2011 project)
Other social extensions Automatic Board WelcomeBlogPageFanBoxesNewUsersListPictureGamePollNYQuizGameRandomFeaturedUserRandomGameUnitRandomUsersWithAvatarsSiteMetricsSportsTeamsUserStatusUserWelcome
Semanticness Semantic Social Profile
Other related extensions
(which do not depend on SocialProfile)
AnswersCommentsLinkFilterMediaWikiChatNewSignupPageVideoVoteNYWikiForumWikiTextLoggedInOut