Extension:VideoFlash

From MediaWiki.org

Jump to: navigation, search

         

Manual on MediaWiki Extensions
List of MediaWiki Extensions
Crystal Clear action run.png
VideoFlash

Release status: unknown

Implementation  Tag
Description VideoFlash is an extension that displays videos from Youtube, GoogleVideo, Dailymotion, Sevenload, Revver and similar services
Author(s)  Alberto Sarullo, SignpostMarv Martin
Last Version  1.2 (2008-08-20)
MediaWiki  1.6.8 or above
License No license specified
Download see below

check usage (experimental)

VideoFlash VideoFlash is an extension that displays videos from Youtube, GoogleVideo, Dailymotion, Sevenload, Revver and similar services based on FLV video format.

This extension is based on Extension:YouTube (Iubito) extension.

Contents

[edit] Source

Copy the following code into extensions/videoflash.php:

<?php
/**
*	Available under the GFDL (http://www.gnu.org/copyleft/fdl.html) as source code was taken from  http://www.mediawiki.org/wiki/Extension:VideoFlash
*	Modification by SignpostMarv Martin
*/ 
/*******************************************************************************
*                                                                              *
* VideoFlash Extension by Alberto Sarullo, based on YouTube (Iubito) extension *
* http://www.mediawiki.org/wiki/Extension:VideoFlash                           *
*                                                                              * 
*                                                                              * 
* Tag :                                                                        *
*   <videoflash>v</videoflash>                                                 *
*                                                                              *
* Ex :                                                                         *
*   from url http://www.youtube.com/watch?v=4lhyH5TsuPg                        *
*   <videoflash>4lhyH5TsuPg</videoflash>                                       *
*                                                                              *
* Ex:                                                                          *
*   from url http://video.google.it/videoplay?docid=1811233136844420765        *
*   <videoflash type="googlevideo">1811233136844420765</videoflash>            *
*                                                                              *
* Ex:                                                                          *
*   from url http://en.sevenload.com/videos/7DQGFhH/Sexy-Tussis                *
*   <videoflash type="sevenload">7DQGFhH</videoflash>                          *
*                                                                              *
* Ex:                                                                          *
*   from url http://one.revver.com/watch/138657                                *
*   <videoflash type="revver">138657</videoflash>                              *
*                                                                              *
********************************************************************************/ 
 
$wgExtensionFunctions[] = 'wfVideoFlash';
$wgExtensionCredits['parserhook'][] = array(
        'name' => 'VideoFlash',
        'description' => 'VideoFlash (YouTube, GoogleVideo, Dailymotion, sevenload...)',
        'author' => 'Alberto Sarullo, SignpostMarv Martin',
        'url' => 'http://www.mediawiki.org/wiki/Extension:VideoFlash'
);
 
function wfVideoFlash() {
        global $wgParser;
        $wgParser->setHook('videoflash', 'renderVideoFlash');
}
 
 
# The callback function for converting the input text to HTML output
function renderVideoFlash($input, $args) {
	$url = array();
	$url['youtube'    ] = 'http://www.youtube.com/v/%1$s';
#	$url['googlevideo'] = 'http://video.google.com/googleplayer.swf?docId=%1$u';
#
# Changed the above line to contain $d as google video now often provides a negative docId
#

#	$url['googlevideo'] = 'http://video.google.com/googleplayer.swf?docId=%1$d';
#
# Changed the above line again to contain $s now it works with all googlevideos
#
	$url['googlevideo'] = 'http://video.google.com/googleplayer.swf?docId=%1$d';
	$url['dailymotion'] = 'http://www.dailymotion.com/swf/%1$s';
	$url['sevenload'  ] = 'http://en.sevenload.com/pl/%1$s/%2$ux%3$u/swf';
	$url['revver'     ] = 'http://flash.revver.com/player/1.0/player.swf?mediaId=%1$u';
	$url['blip'       ] = 'http://blip.tv/play/%1$s';
	$url['youku'      ] = 'http://player.youku.com/player.php/sid/%1$s/.swf';
        $url['vimeo'      ] = 'http://vimeo.com/moogaloop.swf?clip_id=%1$s&;server=www.vimeo.com&fullscreen=1&show_title=1&show_byline=1&show_portrait=0&color="';
        $url['metacafe'   ] = 'http://www.metacafe.com/fplayer/%1$d/' . $args['vid'] . '.swf';
 
        // add here other similar services
 
		$flashvars = array();
		$flashvars['revver'] = 'mediaId=%1$u&affiliateId=0';
 
        $type = isset($args['type'],$url[$args['type']]) ? $args['type'] : 'youtube';
			$media_url = isset($url[$type]) ? $url[$type] : $url['youtube'];
			$flash_vars = isset($flashvars[$type]) ? $flashvars[$type] : '';
		list($id,$width,$height,$style) = explode('|',htmlspecialchars($input));
			$width = is_numeric($width) ? $width : 425;
			$height = is_numeric($height) ? $height : 350;
			$style = is_string($style) ? $style : '';
		$fullscreen = isset($args['fullscreen']) ? $args['fullscreen'] : 'true';
			switch($fullscreen)
			{
				case 'false':
					$fullscreen = 'false';
				break;
				case 'true':
				case 1:
				default:
					$fullscreen = 'true';
				break;
			}
        $output = '<object width="%2$u" height="%3$u" style="%4$s">'
                .' <param name="movie" value="'.$url[$type].'">'
				.' <param name="allowfullscreen" value="' . $fullscreen . '" />'
                .' <param name="wmode" value="transparent"></param>'
                .' <embed src="'.$url[$type] . '" type="application/x-shockwave-flash" wmode="transparent"'
                .' width="%2$u" height="%3$u" allowfullscreen="' . $fullscreen . '" style="%4$s"'				
				. ' flashvars="' . $flash_vars . '"></embed></object>';
 
        return sprintf($output,$id,$width,$height,$style);
 }
?>

[edit] Installation

  • Create the file videoflash.php and paste the code shown above.
  • Upload videoflash.php to your $IP/extensions directory.
  • Add the following lines at the end of LocalSettings.php:
require_once("extensions/videoflash.php");

[edit] Usage

[edit] Youtube

Original url: http://www.youtube.com/watch?v=4lhyH5TsuPg

Wiki code:

<videoflash>4lhyH5TsuPg</videoflash>

or (with width and height):

<videoflash>WZpeeRSk-0A|200|100</videoflash>

[edit] GoogleVideo

Original url: http://video.google.it/videoplay?docid=1811233136844420765

Wiki code:

<videoflash type="googlevideo">1811233136844420765</videoflash>

or (with width and height):

<videoflash type="googlevideo">1811233136844420765|200|150</videoflash>

[edit] DailyMotion

Original url: http://www.dailymotion.com/video/xi23l_geris-game

Wiki code:

<videoflash type="dailymotion">7fiHlJPCjcqK73xbb</videoflash>

or (with width and height):

<videoflash type="dailymotion">7fiHlJPCjcqK73xbb|640|480</videoflash>

[edit] Sevenload

Original url: http://en.sevenload.com/videos/Eh4mjir/Bewegungen-der-Natur

Wiki code:

<videoflash type="sevenload">Eh4mjir</videoflash>

or (with width and height):

<videoflash type="sevenload">Eh4mjir|640|480</videoflash>

[edit] Revver

Original url: http://one.revver.com/watch/138657

Wiki code:

<videoflash type="revver">138657</videoflash>

or (with width and height):

<videoflash type="revver">138657|640|480</videoflash>

[edit] MetaCafe

Original url: http://www.metacafe.com/watch/2387062/pump_it/

Wiki code:

<videoflash type="metacafe" vid="pump_it">2387062</videoflash>

or (with width and height):

<videoflash type="metacafe" vid="pump_it">2387062|640|480</videoflash>

[edit] Blip

Currently blip uses urls like: http://blip.tv/file/1490573

You cannot use the above ID with the code

http://blip.tv/play/$someID

which is used in this VideoFlash extension.

To get the correct ID to use click on 'embed' in Blip and extract the id used in the flash embed code

 <embed src="http://blip.tv/play/AdvpMQA" type="application/x-shockwave-flash" width="640" height="510" allowscriptaccess="always" allowfullscreen="true"></embed>

Wiki code:

<videoflash type="blip">AdvpMQA</videoflash>

note: I don't know why Blip.tv uses different ID's in it's embed code as opposed to it's url. I suspect it may be changing over or something, which is why I haven't suggested editing the code of this extension to use the 'file' rather than the 'play' url for Blip.

[edit] Globo Vídeos (Brazil)

by alexandre260678@hotmail.com

Add the command line

$url['globovideo']='http://video.globo.com/Portal/videos/cda/player/player.swf?midiaId=%1$u';

the file videoflash.php

Copy the parameter midiaId

  <embed width="480" height="392" flashvars="midiaId=1056877&autoStart=false&width=480&height=392" type="application/x-shockwave-flash" quality="high" src="http://video.globo.com/Portal/videos/cda/player/player.swf"></embed>

Wiki code:

<videoflash type="globovideo">1056877</videoflash>

[edit] History

  • 1.1 - 2007-03-24 - Added Revver support; fixed xss vulnerability (tnx Jimbojw)
  • 1.0 - 2007-01-23 - First release

[edit] MediaWiki Version

  • Successfully tested on MediaWiki 1.6.9, MediaWiki 1.8.4, and MediaWiki 1.9.3.

[edit] Full Screen

/*******************************************************************************
*                                                                              *
* Simple "View in fullscreen" addon by xiandos.info.                           *
*                                                                              *
* At the end, before the output is returned, add:                              *
*                                                                              *
********************************************************************************/ 
 
if (strstr($type, "googlevideo")){
        $output .= '<p><a href="javascript:void(window.open('
        ."'http://video.google.com/googleplayer.swf?docid="
        .$id           
        ."','GooglePlayer','location=no,menubar=no,scrollbars=auto,status=no,"
        ."toolbar=no,fullscreen=yes,dependent=no,left=1,top=1'))"
        .'">View the video in fullscreen</a></p>';
}
 
        return $output;

[edit] Other implementations

  • Video Widgets category on MediaWiki widgets site (has all the widgets this extension supports and more)

[edit] Wikis using videoflash

If you use this extension, please add your website here.

[edit] See also