Flash
Question
Can Flash (*.swf) movies be embedded into wiki pages?
Answer
Yes. There are several solutions depending on the situation:
Embedding Flash .swf files (2 options):
- swf.php recipe - automatically convert any link ending in ".swf" to the correct HTML code for an embedded Flash animation
- flash.php recipe - an alternative to
swf.php
that uses a different syntax
Embedding video content from video sharing sites:
- swf-sites.php recipe - Embedding YouTube, Vimeo, and GoogleVideo videos
- additional sites - Embedding videos and audio from other sites (Flickr, archive.org, teachertube, slideshare, godtube, audioo, Daily Motion)
- additional sites, | experimental |: Liveleak, file.qip.ru
Embedding Flash: swf.php / Attach:flashvid.swf
By installing the following recipe, any link ending in .swf
will automatically be converted to HTML code for an embedded Flash animation.
Place the swf.phpΔ script in your cookbook/ directory, and add the following line to config.php
:
include_once('cookbook/swf.php');
The swf.php
script uses a reduced Twice Cooked method and causes links ending in ".swf" to be converted to embedded Flash movies (similar to how images are automatically embedded into pages).
In addition, the %width=%
and %height=%
WikiStyles are extended to apply to the embedded content. It is adviseable to specify the width and the height to get proper size of the swf file. Otherwise you may not see it in correct size.
For Example use: %width=640px height=400px%Attach:MyFlash.swf
To center flash object use %center%%width=640px height=400px%Attach:MyFlash.swf
Embedding Flash: flash.php & flash2.php / (:flash ... :)
flash.phpΔ and flash2.phpΔ are two other scripts for flash embedding, using a different syntax.
- Install the usual way in cookbook and add to config.php
include_once("$FarmD
/cookbook/flash2.php");
- Markup syntax examples:
-
(:flash Attach:myflashfile.swf width=300 height=200:)
-
(:flash http://example.com/path/myflash.swf width=200 height=200:)
-
$EnableExternalResource = 0;
will disable use of syntax 2, i.e. only uploaded flash animations can be shown, not externally linked ones. ~HansB
Simple Embed
As of version 2010-12-18, YouTube, Vimeo & GoogleVideo videoplayers can now be embedded by simply pasting the videos URL rather than the full embed code:
http://www.youtube.com/watch?v=nr-SZXIVvuo
Pasting a URL like the one above for any of these 3 online video services will automatically embed the video using the default parameters to determine dimensions, scaling, etc (as declared in the recipe or by the user in config.php in $YouTubeDefaultParams, $VimeoDefaultParams, and $GoogleVideoDefaultParams). For more info on how to set these default parameters, see the advanced embed code explanations in the following sections.
If you'd like to display a video's URL as-is without its being embedded, simply precede it with a `:
`http://www.youtube.com/watch?v=nr-SZXIVvuo
The SimpleEmbed feature is turned ON by default in the swf-sites recipe. If you want to disable this feature but still have access to the videocode presented below, you can do so by declaring the following in your config.php
before including the recipe:
$YouTubeSimpleEmbed = false;
$VimeoSimpleEmbed = false;
$GoogleVideoSimpleEmbed = false;
Advanced VideoPlayer Markup via SWF-Sites
To embed these videoplayers in a simplified fashion, and to be able to access their various parameters, they can be embedded via something like this:
(:youtube videocode:)
(:vimeo videocode:)
(:googlevideo videocode:)
... where 'videocode'
is the unique alpha-numberic id assigned to your movie.
For example, if the URL to play the video is:
http://youtube.com/watch?v=nr-SZXIVvuo
you would type:
(:youtube nr-SZXIVvuo:)
In addition, Replace-On-Edit Patterns ($ROEPatterns
) have been created for each recipe, so that wiki-editors can simply copy-and-paste the embed code from the respective video website, click 'save' or 'save-and-edit', and have the code automatically converted to the appropriate PmWiki markup. If this is undesired, an admin can disable this in config.php
by setting $YouTubeROEenabled
, $VimeoROEenabled
, etc to false.
Installation
(latest version 2016-05-06 )
To enable this recipe, put swf-sites.phpΔ in your cookbook directory, and add the following line to config.php
:
include_once("$FarmD/cookbook/swf-sites.php");
Be sure to add any default setup variables before including the recipe. See below for details.
Video Parameters
The following websites allow embedding on external sites. Please read up on which parameters are available for each videoplayer, as they're all pretty different in the functionality they permit and the terms they use.
YOUTUBE
SimpleEmbed
Remember, YouTube videos can be embedded by simply pasting the URL, i.e.
http://www.youtube.com/watch?v=nr-SZXIVvuo
http://youtu.be/nr-SZXIVvuo
http://youtu.be/nr-SZXIVvuo?t=1m20s (adding a start time)
The wiki admin can set the default parameters in config.php
via $YouTubeDefaultParams
. To disable this SimpleEmbed feature, simply declare $YouTubeSimpleEmbed = false;
in config.php
. See above for more details.
Advanced YouTube Markup
The YouTube markup can accept various parameters as defined by the YouTube api, via the following format:
(:youtube videocode [ param1=val1 param2=val2 ... ] :)
An abbreviated* list of common YouTube parameters available in this recipe (some are part of the YouTube api, and some are simply convenience parameters):
- width & height (defaults: width=425, height=344) - in pixels, but don't add 'px' at the end! (non-api)
- scale (default: 1) - multiplier for both the width and height (ex: scale=0.5 cuts both the width and height in half, resulting in a 1/4-size video; 0.707 = ~1/2-size video; etc) (non-api)
- playlist - 0 or 1 (default: 0) - provide this if you're embedding a playlist (non-api)
- loop - 0 or 1 (default: 0)
- start - 0 or 1 (default: 0) - starting frame of the video
- autoplay - 0 or 1 (default: 0)
- fs - 0 or 1 (default: 0) - add the fullscreen button to the playbar
- border, color1 & color2 - (default: border=0) - border adds a frame around the video, of the color1; color2 affects the controls (whether or not border is turned on). colors are supplied in hexadecimal, but with no '#':
color1=996633
- nocookie - 0 or 1 (default: 1) - if enabled, video will come from http://www.youtube-nocookie.com, for privacy issues
- modestbranding - 0 or 1 (default: 0) - if enabled, this will hide the YouTube logo from the control bar
* For more possible parameters, see the YouTube api reference page:
Examples:
if you'd like your video to loop:
(:youtube nr-SZXIVvuo loop=1:)
... or if you'd like it to loop, with FullScreen enabled, and you'd like to double the default size
(:youtube nr-SZXIVvuo loop=1 fs=1 scale=2:)
... or provide your own width & height
(:youtube nr-SZXIVvuo width=425 height=344:)
The following default setup variables are available for use in config.php
, before including the recipe:
$YouTubeDefaultParams
- an array defining the defaults for the parameters listed above. Set parameters like so:$YouTubeDefaultParams['scale'] = '1.3';
$YouTubeOverrideUserParams
- admins can provide a list of default parameters that will override any user-input. example:$YouTubeOverrideUserParams = 'fs,width,height';
will prevent users from changing the availability of fullscreen mode, and from changing the width and height of the embedded video$YouTube_XHTMLcompliant
- true or false (default: true) - set to false if you'd rather use the non-XHTML-compliant embed code from the YouTube site$YouTubeROEenabled
- true or false (default: true) - turns Replace-On-Edit-Patterns Off/On for embed code pasted into a browser window$YouTubeROEFmt
- default is '(:youtube $1 scale=1:)
' - default replacement of YouTube embed code - change it if you'd rather YouTube embed code be replaced with a different set of default variables.$YouTube_enableNewPlayer
- YouTube has a new beta version of their player that uses an iframe; this beta player works with HTML5. This recipe has code to embed this new player instead of the old one, but since it's currently in the beta stage and lacks most of the parameters afforded by the previous player, it is not turned on by default. To start embedding using this new beta, iframe player, then set$YouTube_enableNewPlayer=true
in your config. Note: embedded playlists will still use the old version of the youtube player since it doesn't yet seem to be available with the new version.
VIMEO
SimpleEmbed
Remember, Vimeo videos can be embedded by simply pasting the URL, i.e.
http://www.vimeo.com/16894768
.
The wiki admin can set the default parameters in config.php
via $VimeoDefaultParams
. To disable this SimpleEmbed feature, simply declare $VimeoSimpleEmbed = false;
in config.php
. See above for more details.
Advanced Vimeo Markup
Vimeo markup accepts various parameters via the following format:
(:vimeo videocode [ param1=val1 param2=val2 ... ] :)
Vimeo parameters:
- width & height (defaults: width=400, height=327) - in pixels, but don't add 'px' at the end! (non-api)
- scale (default: 1) - multiplier for both the width and height (ex: scale=0.5 cuts both the width and height in half, resulting in a 1/4-size video; 0.707 = ~1/2-size video; etc) (non-api)
- title
show_title- 0 or 1 (default: 1) - displays the title of the video - byline
show_byline- 0 or 1 (default: 1) - displays the name of the artist/author/creator - portrait
show_portrait- 0 or 1 (default: 0) - displays the portrait of the creator - color - a hex color-code, with no leading '#' (default: 00ADEF) - the color of the videoplayer text and controls
- fullscreen - 0 or 1 (default: 1) - permits the fullscreen button on the playbar
- autoplay - 0 or 1 (default: 0)
- loop - 0 or 1 (default: 0)
Examples:
Simplest vimeo embed:
(:vimeo 6507668:)
... or provide your own width & height
(:vimeo 6507668 width=425 height=344:)
The following default setup variables are available for use in config.php
, before including the recipe:
$VimeoDefaultParams
- an array defining the defaults for the parameters listed above. Set parameters like so:$VimeoDefaultParams['scale'] = '1.3';
$VimeoOverrideUserParams
- admins can provide a list of default parameters that will override any user-input. example:$VimeoOverrideUserParams = 'fullscreen,width,height';
will prevent users from changing the availability of fullscreen mode, and from changing the width and height of the embedded video$Vimeo_XHTMLcompliant
- true or false (default: true) - set to false if you'd rather use the non-XHTML-compliant embed code from the Vimeo site. - this is only applicable for the earlier version of the Vimeo player, not the new universal version.$VimeoROEenabled
- true or false (default: true) - turns Replace-On-Edit-Patterns Off/On for embed code pasted into a browser window- @
@$VimeoROEFmt@@ - default is '(:vimeo $1 scale=1 $2 $3 $4 $5:)
' - default replacement of Vimeo embed code - change it if you'd rather Vimeo embed code be replaced with a different set of default variables.
GOOGLEVIDEO
SimpleEmbed
Remember, GoogleVideo videos can be embedded by simply pasting the URL, i.e.
http://video.google.com/videoplay?docid=4412027748204910365#
.
The wiki admin can set the default parameters in config.php
via $GoogleVideoDefaultParams
. To disable this SimpleEmbed feature, simply declare $GoogleVideoSimpleEmbed = false;
in config.php
. See above for more details.
Advanced GoogleVideo Markup
GoogleVideo markup accepts a handful of optional parameters, though not as many as Vimeo & Youtube:
(:googlevideo videocode [ param1=val1 param2=val2 ... ] :)
GoogleVideo parameters:
- width & height (defaults: width=400, height=326) - in pixels, but don't add 'px' at the end! (non-api)
- scale (default: 1) - multiplier for both the width and height (ex: scale=0.5 cuts both the width and height in half, resulting in a 1/4-size video; 0.707 = ~1/2-size video; etc) (non-api)
- fs - true or false (default: true) - permits the fullscreen button on the playbar
- autoPlay ? true or false (default)
- initialTime ? start-time in seconds (default is 0)
- loop ? true or false (default)
- showShareButtons ? true or false (default) (not sure if this works)
- playerMode:
- embedded (default) (the basic google video skin)
- simple (no progress bar or volume control)
- mini (no controls)
- clickToPlay (used for video ads)
Examples:
Simplest GoogleVideo embed:
(:googlevideo 8953172273825999151:)
... or provide your own width & height, and disallow fullscreen:
(:googlevideo 8953172273825999151 width=425 height=344 fs=0:)
The following default setup variables are available for use in config.php
, before including the recipe:
$GoogleVideoDefaultParams
$GoogleVideo_XHTMLcompliant
- true or false (default: true) - set to false if you'd rather use the non-XHTML-compliant embed code provided at the GoogleVideos site$GoogleVideoROEenabled
- true or false (default: true) - turns Replace-On-Edit-Patterns Off/On for embed code pasted into a browser window$GoogleVideoROEFmt
- default is '(:googlevideo $1 scale=1:)
' - default replacement of Vimeo embed code - change it if you'd rather Vimeo embed code be replaced with a different set of default variables.
Updates for swf-sites.php
- 2016-05-06 - Updated swf-sites.php to use Markup_e to avoid use of deprecated preg_replace calls with 'e' flag.
- 2011-06-16b - YOUTUBE:
- new features:
- simpleROE now accepts shortlinks of the form
http://youtu.be/abc123;
- it also accepts start time & hd params
http://youtu.be/abc123?hd=1&t=2m20s;
- simpleROE now accepts shortlinks of the form
- BUGFIXES:
- corrected issue with nocookie=0 not being able to override default setting (thanks FrankHuber!)
- in old embed code, playlists don't work with nocookie=1 - now nocookie is automatically disabled when embedding a playlist (thanks FrankHuber)
- old embed code now works with new form of short-link playlists that appends 'PL' to the beginning of the videoID: http://youtube.com/playlist?p=PLxxxxx
- if new iframe player is enabled, it will now revert to the old player when embedding a playlist (playlists don't yet use the new iframe markup)
- new features:
- 2011-06-16 - YOUTUBE - bugfix: iframe ROE for youtube was occasionally mistakenly keeping the "?param=n" when trying to obtain the videoID, i.e. id123abc?param=N
- 2011-04-07 - YOUTUBE & VIMEO - bugfix: iframe ROE for both was accidentally throwing away height & width values; YOUTUBE: adjusted iframe output that has changed since the last version.
- 2010-12-19 - YOUTUBE - bugfix to prevent display of extra url arguments &blah=blah....
- 2010-12-18 - YOUTUBE, VIMEO & GOOGLEVIDEO: added YouTubeSimpleEmbed, VimeoSimpleEmbed, & GoogleVideoSimpleEmbed (respectively) - YouTube, Vimeo & GoogleVideo vids can now be embedded by simply pasting the page URL (rather than the full embed code). to disable, set $YouTubeSimpleEmbed=false (or $VimeoSimpleEmbed=false, or $GoogleVideoSimpleEmbed=false) in config.php
- 2010-11-14 - YOUTUBE: fixed 2 minor bugs in YouTube code
- 2010-11-05 -
- GOOGLEVIDEO: cleaned up code and ensured ability to use params: initialTime, showShareButtons, and playerMode
- 2010-09-10 - fixed a bug in the
$ROEPatterns
for the Vimeo Universal embed code - 2010-09-01 -
- VIMEO:
- added an ROEPattern for the new univeral version of the Vimeo embed code; the ROE for the old version of Vimeo embed code remains enabled as well, since both can be used by embedders. To keep using the old version of the player, one can set
$Vimeo_enableNewPlayer=false;
. More info on the new Vimeo player, which can run on the iPhone, iPads, and in HTML5: http://vimeo.com/blog:334 - added an ROEPattern to update old Vimeo markup on pages - parameters like 'show_title' have now been shortened simply to 'title'
- removed the
$Vimeo_ROEFmt
variable - now the ROEPattern displays all possible variables as set up in your$VimeoDefaultParams
array - added
$VimeoOverrideUserParams
- admins can provide a list of default parameters that will override any user-input.
- added an ROEPattern for the new univeral version of the Vimeo embed code; the ROE for the old version of Vimeo embed code remains enabled as well, since both can be used by embedders. To keep using the old version of the player, one can set
- YOUTUBE:
- added code for playing YouTube video with the new beta iframe version of the player, which works with HTML5. Since it's in beta version, and doesn't have nearly as many features and inputs as the older version, it is off by default. To use this new version, place
$YouTube_enableNewPlayer=true;
in your config.php. - updated YouTube ROEPattern code... Created new ROEPattern for new (beta) YouTube iframe code
- removed
$YouTubeROEFmt
- the ROEPattern now displays whatever properties it finds in the embed code. - added
$YouTubeOverrideUserParams
- admins can provide a list of default parameters that will override any user-input.
- added code for playing YouTube video with the new beta iframe version of the player, which works with HTML5. Since it's in beta version, and doesn't have nearly as many features and inputs as the older version, it is off by default. To use this new version, place
- VIMEO:
- 2010-05-17 - moved FlickrVid into a separate recipe with FlickSlideshow (new).
- 2009-10-25 - slightly cleaned up & simplified youtube code (scaling); removed plwidth & plheight from docs, to prevent misuse.
- 2009-10-20 -
- Vimeo, GoogleVideo, FlickrVid: updated
(:vimeo:) & (:googlevideo:) & (:flickrvid:)
to allow arguments, and created a number of various setup variables accessed inconfig.php
- Vimeo, Youtube, GoogleVideo, FlickrVid: added ROEPatterns to auotmatically convert pasted <embed> code with the appropriate pmwiki video markup
- cleaned up YouTube code
- fixed GoogleVideo bug that prevented fullscreen
- permitted option of compliant and non-compliant XHTML versions of each recipe (except FlickrVid).
- removed $YouTubeDefaultHeightFmt & ..WidthFmt (for all recipes) - default width and height are now included in
$YouTubeDefaultParams
,$VimeoDefaultParams
, and so forth. - changed FlickrVid so that videcode is declared like YouTube, GoogleVideo, and Vimeo - with it as the first argument, and without the
id=
prefix - replaced/updated much of the documentation
- Vimeo, GoogleVideo, FlickrVid: updated
- 2009-10-09 - YouTube: added 'scale' option for youtube; returned youtube code back to being xhtml 1.0 compliant; incorporated suggestion from Byron Lunz for non-XHTML-compliant version, via
$YouTube_XHTMLcompliant
- 2009-09-21b: YouTube: added ability to embed YouTube playlists
- 2009-09-21: Updated swf-sites.php - changed YouTube code so that it accepts valid YouTube api parameters
previously:
- 2008-04-09: Edited swf-sites.php to include Flickr video. (JRH)
- 2008-01-22: Edited swf-sites.php to swf-sites2.php to update YouTube & Google functions. (BKL)
- 2007-08-29: Added Vimeo and combined with YouTube and Google Video into swf-sites.phpΔ
- 2007-02-07: Updated YouTube and GoogleVideo recipes. They both now feature valid XHTML.
Flash videos from other sites
Flash from other (less common?) sites can be installed via separate cookbook recipes. If you have a recipe for sharing videos from another site, feel free to use the following recipes as template and add it below.
FLICKR & FLICKRVID
Demo: http://plus1plus1plus.org/Resources/PmWiki-Flickr
This recipe enables embedding of video and images hosted on Flickr.com using:
(:flickr ...:)
for slideshows
(:flickrvid ...:)
for videos
To install, add swf-sites-Flickr.phpΔ to your cookbook, and add the following line to your config.php:
include_once("$FarmD
/cookbook/swf-sites-Flickr.php");
Be sure to add any default setup variables before including the recipe. See below for details.
ROE is Enabled!
Replace-On-Edit Patterns ($ROEPatterns
) have been enabled for this recipe! Visitors can simply copy-and-paste the embed code from Flickr, click save (or save-and-edit), and the embed code will be automatically converted into the appropriate pmwiki markup. If this is undesired, an admin can disable this in config.php by setting $FlickrSlideshowROEenabled
& $FlickrVidROEenabled
to false.
Examples
FlickrSlideshow and FlickrVid examples can be found at http://plus1plus1plus.org/Resources/PmWiki-Flickr
Other Flickr Slideshow Players
Note that there are many many other homebrew Flickr slideshow players out there. This recipe, however, only enables embedding slideshows that Flickr makes available by clicking the "Share" button during one of their slideshows.
FLICKRSLIDESHOW
FlickrSlideshow markup accepts a handful of parameters:
(:flickr username userID [ photoset ] [ param1=... param2=... ]:)
FlickrSlideshow parameters:
- username
- userID - numerical ID, usually comes in the format of "12345678@N03" (userID can be found in the embed code for a slideshow, or by visiting http://idgettr.com)
- photoset - optional: ID for the photoset you want to view (using the number in the url following /sets/12345.../)
- tag - optional: used if you want display images labeled with a specific tag, i.e
tag=cats
- search - optional: used if you want to display images that comes up during a search, i.e.
search=ugly+cats
- sort (default: relevance) - optional: used in conjunction with search - options include
relevance
,interest
, andrecent
- width & height (defaults:
width=400
,height=300
) - in pixels, but don't add 'px' at the end! - scale (default: 1) - scale the slideshow's dimensions by some numerical factor (ex: 0.5 = half-width & half-height) (non-api)
(:flickr myusername 12345678@N03:)
(:flickr myusername 12345678@N03 width=700 height=525:)
(:flickr myusername 9876543210:)
(:flickr myusername 12345678@N03 tag=cats:)
(:flickr myusername 12345678@N03 search=cats sort=recent:)
(:flickr tag=cats:) (:flickr search=cats sort=recent:)
If you've added a default username and userID to your config (see below), then these can be omitted from most of the examples above, for example (:flickr:)
will return all photos from your photostream.
- exception: if you want to display tags or searches in your own profile, you *must* provide your username & userID - reason: if the default userinfo was always used, then the recipe wouldn't allow displaying all photos from the rest of flickr with those tags or searchterms.
The following default setup variables are available for use in config.php, before including the recipe:
$FlickrSlideshowDefaultParams
, examples:- set the default width & height
$FlickrSlideshowDefaultParams['width'] = "700";
$FlickrSlideshowDefaultParams['height'] = "525";
- adding these prevents you from ever having to enter in your username or user_id (except in the cases of
tag=
andsearch=
)
$FlickrSlideshowDefaultParams['flickr_username'] = "myusername";
$FlickrSlideshowDefaultParams['flickr_user_id'] = "12345678@N03";
$FlickrSlideshowROEenabled
- true or false (default: true) - turns Replace-On-Edit-Patterns Off/On for embed code entered into a browser window$FlickrSlideshowROEFmt
- default is'(:flickr [args] scale=1:)'
- default replacement of FlickrSlideshow embed code - change it if you'd rather FlickrSlideshow embed code be replaced with a different set of default parameters.
Note: FlickrSlideshow is not yet XHTML 1.0 compliant
FLICKRVID
FlickrVid markup accepts a handful of parameters, though not as many as Vimeo & Youtube:
(:flickrvid videocode secret=secretval [ param1=val1 param2=val2 ... ] :)
* Note - flickrvid has changed since previous version. Previously it declared the videocode via id=videocode
; now the videocode is unprefixed, and must appear immediately following (:flickrvid ...
.
To locate the correct videocode
, look in the embed code for "photo_id=somenumber"
FlickrVid parameters:
- secret (required) - this can be obtained from the embed code on the users pages - look for
photo_secret=somenumber
- id (required) - the id for the video - look in the embed code for
photo_id=somenumber
- width & height (defaults: width=400, height=300) - in pixels, but don't add 'px' at the end! (non-api)
- scale (default: 1) - multiplier for both the width and height (ex: scale=0.5 cuts both the width and height in half, resulting in a 1/4-size video; 0.707 = ~1/2-size video; etc) (non-api)
- showinfo - 0 or 1 (default: 1) - display the video information before and after playing
Examples:
Simplest FlickrVid embed:
(:flickrvid 98765 secret=43210:)
... or provide your own width & height, and turn video info off
(:flickrvid 98765 secret=43210 width=425 height=344 showinfo=false:)
The following default setup variables are available for use in config.php
, before including the recipe:
$FlickrVidDefaultParams
$FlickrVidROEenabled
- true or false (default: true) - turns Replace-On-Edit-Patterns Off/On for embed code pasted into a browser window$FlickrVidROEFmt
- default is '(:flickrvid [args] scale=1:)
' - default replacement of FlickrVid embed code - change it if you'd rather FlickrVid embed code be replaced with a different set of default variables.
* Note: FlickrVid is not yet XHTML 1.0 compliant - I was unable to locate any leads online yet that seemed to work. If you have any suggestions, please do let me know.
. . .
- 2010-12-21 - fixed bug with FlickrVid that was causing
(:flickr:)
markup to also catch content intended for(:flickrvid:)
- 2010-05-16 - initial release - incorporated FlickrVid and FlickrSlideshow into one recipe (FlickrVid originally included in swf-sites.php)
ARCHIVE.ORG
Demo: http://plus1plus1plus.org/Resources/PmWiki-ArchiveOrg
For video or audio from Archive.org, download archive.org.phpΔ and add the following line to config.php
:
include_once("$FarmD/cookbook/archive.org.php");
$ArchiveOrgPlayerDefaultParams
SimpleEmbed
Archive.org videos can now (as of version 2010-12-19) be embedded by simply pasting the URL of the video or audio file you want to display, i.e.
http://www.archive.org/download/Lmaster-CatsCatsCats407/Lmaster-CatsCatsCats407_512kb.mp4
.
(Unfortunately, since each Archive.org page has multiple versions of a video or audio file, you must use the link to the actual media file, not just the archive.org details page.)
This can be prevented by preceding the URL with a `, i.e.:
`http://www.archive.org/download/Lmaster-CatsCatsCats407/Lmaster-CatsCatsCats407_512kb.mp4
.
The wiki admin can set the default parameters in config.php
via $ArchiveOrgDefaultParams
. To disable this SimpleEmbed feature, simply declare $ArchiveOrgSimpleEmbed = false;
in config.php
.
Advanced Archive.org Markup
An $ROEPatterns
has been included so that users can simply copy&paste the provided archive.org embed-code, and it will automatically convert into valid pmwiki markup.
The markup for this recipe looks like:
(:archive.org basename/filename ... :)
(:archive.org filename basename=basename ... :)
(http://www.archive.org/details/
basename)
Parameters may differ for audio and video, but they're mostly the same.
Here's what one track of audio might look like:
(:archive.org gd1975-06-17.aud.unknown.87560.flac16/gd75-06-17s1t01_vbr.mp3 height=24 width=350 autoplay=false:)
And here's what one track of video might look like:
(:archive.org bb_minnie_the_moocher/bb_minnie_the_moocher_512kb.mp4 height=504 width=640 scale=1 fs=true autoplay=false autoBuffering=true:)
to create a playlist of multiple tracks of audio or video, several videocodes can be listed with commas in between, wrapped with one set of [square brackets]:
(:archive.org [gd1975-06-17.aud.unknown.87560.flac16/gd75-06-17s1t01_vbr.mp3, gd1975-06-17.aud.unknown.87560.flac16/gd75-06-17s1t02_vbr.mp3,...] ... :)
... or alternatively using the basename= parameter:
(:archive.org [gd75-06-17s1t01_vbr.mp3, gd75-06-17s1t02_vbr.mp3,...] basename=gd1975-06-17.aud.unknown.87560.flac16 ... :)
- Note 1: at this point playlists don't appear with a tray of tracks beneath it like it does on the archive.org site - this is a limitation of the flowplayer setup on archive.org, not of this recipe. However, one can navigate the playlist using the >| and |< buttons, and the ROEPattern will spit out a list of the available tracks beneath the player (if $trackListing_enabled is set to true)
Note 2: that there is currently a bug for video playlists; when copying & pasting directly from archive.org, the videos often have the first slot of the playlist filled with an 'image.jpg', which currently causes the video to automatically begin playing. i hope to fix this soon, but for now one can prevent this autoplaying by simply removing the jpg from the playlist.Seems to be working now...
Currently available parameters:
Archive.org currently uses FlowPlayer (v.3.2.1 - not the most up-to-date version, but almost) to view most of its media, which is a surprisingly versatile open source media player. Most of the FlowPlayer parameters and properties are available for use in this recipe, and are listed in $ArchiveOrgPlayerDefaultParams (see the recipe - I've done my best to list as many of them as possible, but it's possible I've missed some - feel free to add more via your config.php). For most of these properties, empty values in $ArchiveOrgPlayerDefaultParams
(''
) will simply implement the built-in FlowPlayer defaults, so it's not necessary to fill them all up. For ease of use, properties exist in several categories which must be cited in order to set them: basicPropertiesVideo
, basicPropertiesAudio
, clipProperties
, controlbarProperties
, autohideProperties
, canvasProperties
. Set sitewide default parameters in your config by declaring something like:
$ArchiveOrgPlayerDefaultParams['clipProperties']['autoBuffering'] = 'true';
$ArchiveOrgPlayerDefaultParams['basicPropertiesVideo']['scale'] = '1.2';
$ArchiveOrgPlayerDefaultParams['basicPropertiesAudio']['width'] = '500';
Basic Non-FlowPlayer Basic Properties
- width & height (default: 350 x 26 for audio, 640 x 506 for video)
- scale (default: 1) - a multiplier for width and height (disabled for audio) (ex: scale=0.5 cuts both the width and heighth in half, resulting in a 1/4 size video; 0.707 = ~half-size video; etc) (non-api!!)
- fs (default: true) - show/hide fullscreen button (disabled for audio)
- basename -
http://www.archive.org/details/
basename
Some Common FlowPlayer Clip Properties
- autoplay (default: false)
- autoBuffering (default: false) - player begins automatically loading the file
- for many many more clip-related properties, please visit http://static.flowplayer.org/documentation/configuration/clips.html
FlowPlayer Controlbar Properties
for a complete list of controlbar properites (i.e. ways to style the way the controls for the player look), please visit http://flowplayer.org/plugins/flash/controlbar.html
note: all colors must be given in the form #NNNNNN
Canvas Properties
for a complete list of canvas (i.e. the background) properties, please visit: http://flowplayer.org/documentation/configuration/plugins.html#display-properties
note: all colors must be given in the form #NNNNNN
Other Options For config.php
$ArchiveOrgPlayerROEenabled
(default: true) - archive.org embed code will be automatically converted into appropriate PmWiki markup. If for some reason you want to prevent this, then set$ArchiveOrgPlayerROEenabled = false;
$linkToArchiveOrg
- possible values: true, false,"ROE"(default: "true") - The FlowPlayer Context Menu doesn't currently work for files embedded from archive.org (possibly b/c it's not the pro version?), making it hard for a visitor to be able to locate and download these freely available files. By setting$linkToArchiveOrg = true;
in config.php, the player will display a small html link to the archive.org page where the files are stored (http://www.archive.org/details/PageName
). This text can be changed by setting$linkToArchiveOrg_text
, and can be styled via the.archiveorglink
class in your CSS file.$hexcheck_enabled
(default:false
) - normally a user is required to supply color-hex-codes in the form '#AABBCC', and if they don't supply the leading '#' the color will fail. to avoid this scenario, set$hexcheck_enabled = true;
, and the recipe will check for '#' and then add it to color codes where necessary.$trackListing_enabled
(default:true
) - many videos and audio available from archive.org are playlists containing multiple tracks; the problem is that when embedded on an external site, the current version of the archive.org player doesn't display the dropdown menu of all the tracks - it only has|<
and>|
search buttons. This is misleading and may cause a visitor to think there is only 1 track available. Leaving$trackListing_enabled = true;
(the default) causes a list of all tracks to be posted beneath the player during the ROE process, along with a note about how to use the|<
&>|
buttons.$ArchiveOrgROEParamsVideo
(default:array('width', 'height', 'autoplay', 'fs', 'scale')
) &$ArchiveOrgROEParamsAudio
(default:array('width', 'height', 'autoplay')
) - these variables determine which parameters will show up during the ROE process when a user pastes archive.org embed code into the edit window and saves. Users may not always be aware of all the various parameters available to them, so the usefulness of expanding these arrays is to help make users aware of their options, and to encourage them to customize their players; for instance, adding 'durationColor
', 'progressColor
', etc to the array would result in ROE's resulting in(:archive.org filename ... durationColor=... progressColor=... :)
.
Versions:
- 2011-02-21 - fixed FLV playback - SimpleEmbed was trying to play flv's using the audio settings instead of video settings; also created globals $ArchiveOrgAudioTypes & $ArchiveOrgVideoTypes to help archive.org figure out which player to use. overtones99
- 2010-12-19 - added ArchiveOrgSimpleEmbed - Archive.org vids can now be embedded by simply using the URL for the file you want to include (rather than the full embed code). to disable, set $ArchiveOrgSimpleEmbed=false in config.php overtones99
- 2010-08-29: major overhaul of the recipe, making it work with the updated version of flowplayer being used on the archive.org site overtones99
- fixed ROEPattern for new archive.org player
- **important** the
$ArchiveOrgPlayerDefaultParams
array is now broken up into several subarrays:basicPropertiesVideo
,basicPropertiesAudio
,clipProperties
,controlbarProperties
,autohideProperties
, andcanvasProperties
; if you want to add a default property in config.php, one must now indicate which branch it's nested in, i.e. $ArchiveOrgPlayerDefaultParams['clipProperties']['autoBuffering'] = 'true'; - the video- or audio-ID may now be presented either as
(:archive.org mybasename/myfilename ...:)
or as(:archive.org myfilename basename=mybasename ...:)
- use the class
.archiveorglink
to style the archive.org link that appears when $linkToArchiveOrg is enabled; use $linkToArchiveOrg_text to set the text. - hexcheck has been disabled; just remember to precede your colors with a #
- added basename= parameter; files can either be specified via
(:archive.org [mybasename/file1, mybasename/file2] ... :)
, or via(:archive.org [file1, file2] basename=mybasename ... :)
- 2010-01-02 - links in the context menu for the player don't currently work, so added
$linkToArchiveOrg
overtones99 - 2009-12-21 - major upgrade overtones99
- enabled many many FlowPlayer parameters not available in the initial release
- changed default fs='true'
- fixed bug with 'gloss' parameter
- all hex-numbers now require a preceding '#' - admin can automatically check this by setting
$hexcheck_enabled = true;
inconfig
- changed
bgColor
andbgGradient
tobackgroundColor
&backgroundGradient
- changed msg above tracklist
- ability to suppress tracklist printout using
$trackListing_enabled = false;
- 2009-12-20 - initial release overtones99
TeacherTube
For TeacherTube, use teachertube.phpΔ and add the following to config.php
include_once("$FarmD/cookbook/teachertube.php");
Put in the unique ID for the movie, not the whole URL, something like (:teachertube 7f89ddbebc2ac9128303:)
SlideShare
For SlideShare, use slideshare.phpΔ and add the following to config.php
include_once("$FarmD/cookbook/slideshare.php");
Put in the unique ID for the movie, not the whole URL, something like (:slideshare jbrenman/shift-happens-33834:)
Put the doc value for the movie, it found in embed code for Wordpress. Something like
(:slideshare what-is-web-20-1194363300579044-4:)
With this new version slideshare10042011.phpΔ of this recipe, you have only to provide the number that follows ".../embeded_code" at the script used to embed the presentation into a blog.
<div ...> ... <iframe src="http://www.slideshare.net/slideshow/embed_code/5582333" ... </div>
(:slideshare 5582333:)
GodTube
For godTube, use godtube.phpΔ and add the following to config.php
include_once("$FarmD/cookbook/godtube.php");
Put in the unique ID for the movie, not the whole URL, something like (:godtube flvideo1/20/17395:)
or (:godtube flvideo/4ee3524ccf035d35b284/1650:)
Working example (doesn't seem to have a working example any more...
Audioo
Audioo (http://audioo.com) allows visitors to embed audio content from their site the same way one would embed video from YouTube. To embed their flashplayer, put audioo.phpΔ in your cookbook, and add the following line to config.php
:
include_once("$FarmD/cookbook/audioo.php");
An $ROEPatterns
has been included so that users can simply paste in the audioo.com embed code, and it will automatically convert into valid pmwiki markup.
The videocode for this recipe is the entire URL for the audioo page.
(:audioo http://audioo.com/t/for-blinky-palermo--dog-star-orchestra/4d4e3e080544ffd/ :)
Optional parameters for Audioo include:
- autostart - true or false (default: false)
- volume - 0 to 100 (default: 80)
... and can be added following the url:
(:audioo http://audioo.com/t/for-blinky-palermo--dog-star-orchestra/4d4e3e080544ffd/ autostart=true:)
DailyMotion
For basic Daily Motion video, use dailymotion.phpΔ and add the following to config.php
include_once("$FarmD/cookbook/dailymotion.php");
Put in the unique ID for the movie, not the whole URL, something like (:daily x85gxs:)
or (:daily x85gxs_le-langage-des-banlieues-scredtv-ep_fun:)
(http://www.dailymotion.com/video/x85gxs_le-langage-des-banlieues-scredtv-ep_fun
)
See cookbook : Dailymotion
Working example : http://www.languefrancaise.net/Test/Videos dead link
Updates for other flash media
- 2009-12-20: updated Audioo recipe; enabled ROEPattern; added Archive.org recipe
- 2009-10-20: updated Audioo recipe; now accepts parameters 'volume' and 'autostart'
- 2009-03-02: Added Audioo recipe (overtones99)
- 2007-07-18: Added SlideShare recipe. (Robert)
See Also
- Flowplayer - put FlowPlayer on your own server
- Scribd - Embed Scribd documents & pdfs on a webpage
Contributors
- Pm, 2005-01-04
- Radu, 2005-03-09
- HansB, alternative flash.phpΔ markup directive
- sts, fixed some " ' confusion
- JonHaupt, added swf-sites-2008-04-09.phpΔ
- Robert, added slideshare.phpΔ
- Byron Lunz, edited swf-sites2.phpΔ
- overtones99, added swf-sites-Flickr.phpΔ (2010-05-17); added archive.org.phpΔ (2009-2011); added audioo.phpΔ (2009); updated
swf-sites.php
(2009-2010) - Ed Wildgoose, fixed a number of bugs in flash.php and uploaded it as flash2.phpΔ - the old version broke attachments in a subtle way (which appeared after the flash video on a given page) - (contact me via http://www.mailasail.com)
- Moez Maâmer: Added Corrected_swf-sites.php:Δ Changed HTTP to HTTPS for youtube videos. Added "isset" function before testing some parameters (`line 702`, `line 710` and `line 734`)
Comments
See discussion at Flash-Talk
User notes +4: If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.