Extension:EmbedVideo
|
|
WARNING: the code or configuration described here poses a major security risk.
Problem: Vulnerable to Cross-site scripting attacks, because it passes user input directly to the browser. This may lead to user accounts being hijacked, among other things. |
|
EmbedVideo Release status: beta |
|
|---|---|
| Implementation | Parser function |
| Description | Adds a parser function called #ev for embedding video clips from popular video sharing services. |
| Author(s) | Andrew Whitworth (Whiteknight), Jim R. Wilson (Jimbojw), and Mohammad Derakhshani (Mderakhs) |
| Last version | 1.0 |
| MediaWiki | 1.14, 1.15, maybe others. |
| License | The MIT License |
| Download | Project page Download snapshot |
| Example | Wikimini |
|
Check usage (experimental) |
|
The EmbedVideo Extension is a MediaWiki extension which adds parser functions called #ev and #evp for embedding video clips from popular video sharing services.
- Project Homepage
- Documentation at Github
- Source Code
- Source code at Github
- Licensing
- EmbedVideo is released under The MIT License.
Notice: As of the 1.0 release the EmbedVideo extension has a new maintainer and a new code base. EmbedVideo has been merged with EmbedVideoPlus, and Version 1.0 should be backwards compatible with both old versions of EmbedVideo and old versions of EmbedVideoPlus.
[edit] Installation
- Download the EmbedVideo package.
- Unzip the file in your extensions/ directory in your wiki inside the folder EmbedVideo.
- Rename the folder to EmbedVideo.
- Enable the extension by adding this line to the bottom of your LocalSettings.php:
-
-
include_once("$IP/extensions/EmbedVideo/EmbedVideo.php");
-
[edit] Usage
The EmbedVideo parser function expects to be called in any of the following ways:
- {{#ev:service|id}}
- {{#ev:service|id|width}}
- {{#ev:service|id|width|align}}
- {{#ev:service|id|width|align|desc}}
- {{#evp:service|id|desc}}
- {{#evp:service|id|desc|align}}
- {{#evp:service|id|desc|align|width}}
Where:
- service is the name of a video sharing service (See "service name" in the list below)
- id is the id of the video to include
- width (optional) is the width in pixels of the viewing area (height will be determined automatically)
- align (optional) is an alignment (float) attribute. May be "left" or "right".
- desc (optional) is a short description to display beneath the video when it is aligned
For example, to include the famous "evolution of dance" YouTube video, you'd enter:
{{#ev:youtube|dMH0bHeiRNg}}
And if you wanted scaled down to thumbnail size, on the right with a short description, you could use:
{{#ev:youtube|dMH0bHeiRNg|100|right|This is an embedded video!}}
- Note: See the Project Homepage for more examples.
http://www.youtube.com/watch?v=CMX2lPum_pg&ob=av2el
[edit] Supported Services
As of version 1.0, EmbedVideo supports embedding video content from the following services:
| Site | Service Name |
|---|---|
| Dailymotion | dailymotion |
| Div Share | divshare |
| Edutopia | edutopia |
| FunnyOrDie | funnyordie |
| Google Video | googlevideo |
| Interia | interia or interiavideo |
| Revver | revver |
| sevenload | sevenload |
| TeacherTube | teachertube |
| YouTube | youtube and youtubehd |
| Vimeo | vimeo |
[edit] Enabling full-screen mode for youtube
Note: This modification is described by various commenters in the Discussion tab.
1. Open the EmbedVideo.hooks.php file and change the following:
- line 130 from :
" wmode=\"transparent\" width=\"{$width}\" height=\"{$height}\">" .
- to :
" wmode=\"transparent\" allowfullscreen=\"true\" width=\"{$width}\" height=\"{$height}\">" .
- line 158 from :
" wmode=\"transparent\" width=\"{$width}\" height=\"{$height}\"></embed>" .
- to :
" wmode=\"transparent\" allowfullscreen=\"true\" width=\"{$width}\" height=\"{$height}\"></embed>" .
2. Open EmbedVideo.Services.php and add add &fs=1 to both youtube URL values. For example, change http://www.youtube.com/v/$1 to http://www.youtube.com/v/$1&fs=1
To enable HD by default, add &hd=1 after the &fs=1.
[edit] Developer Notes
The major benefit of using a parser function as the injection mechanism for video clips (as opposed to an extension tag) is that parser functions can utilize template parameters (of the form {{{1}}}).
For example, say you found yourself making a lot of YouTube videos in thumbnail size, right-aligned like an image. You might make a template called Template:Youtube_tn which could contain this:
<div class="thumb tright">
{{#ev:youtube|{{{1}}}|{{{2|100}}}}}
</div>
And then call it like this:
{{youtube tn|someYoutubeId}}
[edit] Reporting Bugs
There is an issue tracker set up on the Github project page.
[edit] Contributing
Bug reports, feature requests, and patches are always welcomed. New contributors can be added to the project if there is sufficient interest.
