History: PluginOEmbed
Preview of version: 4
Plugin OEmbed
This wiki plugin enables embedding of external videos or media into Tiki pages using the oEmbed protocol. It fetches and processes metadata from a provided media URL, generating an embedded media player.
Parameters
Embed a video or media using oEmbed protocolIntroduced in Tiki 29. Required parameters are in
bold
.Go to the source code
Preferences required: wikiplugin_oembed
Parameters | Accepted Values | Description | Default | Since |
---|---|---|---|---|
url |
url | Complete URL to the oEmbed video or media | ||
height |
digits | Height in pixels. Default: 315 |
315 | |
start |
digits | Start time offset in seconds | 0 | |
width |
digits | Width in pixels. Default: 560 |
560 | |
privacyEnhanced |
(blank) y n |
Enable privacy-enhanced mode (if applicable) | ||
allowFullScreen |
(blank) y n |
Enlarge video to full screen size | y | |
bg |
Object background color. Example: #ffffff , rgb(255, 255, 255) , white |
|||
border |
Object border color. Example: #ffffff , rgb(255, 255, 255) , white |
Note : You can add using the url parameters a lot more of parameters like autoplay, show control, etc. Complete list at Youtube
Show a video
This code:
{youtube movie="G1TuB5P4Ypw" width="425" height="350" quality="high" allowFullScreen="y"}
Would produce:
Responsive YouTube video - activating fitvid.js for the Tiki website
Since Tiki 15.1 fitvid.js is integrated and cn be activated in the control center (admin panel) in the Features section in Tab Interface.
Be careful for existing to be upgraded sites using already a number of media plugins with videos. An active fitvid.js will change the appearance of all standard youtube videos displayed by PluginYoutube or html iframe elements, if no additional wrapper classes / helper classes are applied (see here: https://tiki.org/forumthread59970).
fitvid.js has a global effect on your Tiki website.
Both of the two following plugins ...
{youtube movie="G1TuB5P4Ypw" width="425" height="350" quality="high" allowFullScreen="y"} {youtube movie="G1TuB5P4Ypw" quality="high" allowFullScreen="y"}
... will be displayed in 100% width and responsvely ignore the absolute settings for width and height or standard values
Thx to chibaguy to point out the fitvid.js integration.
For Tiki sites after v.12, respectively post Tiki12 Bootstrap based responsive websites, you want to show your videos responsive with the same effect that the class img-responsive has for images.
Sadly width=100% and height=auto does not work for videos, as they are embedded with an iframe. Technically the PlugiYoutube is an alias for an embedding iframe and thus the trick works aswell for plain HTML as for the WikiSyntax / WikiPlugin as shown below.
Responsive YouTube video - Using bootstrap classes
Since Tiki25 we use Bootstrap5 to manage themes, responsive design and CSS in Tiki.
Bootstrap5 use the "ratio" class, a generated pseudo elements, to make an element maintain the aspect ratio this allow responsively handling video that embeds based on the width of the parent element.
<div class="ratio ratio-16x9"> ... </div>
__
This is a basic explanation how it works. For productive use, you do not need custom CSS. Simply use the Bootstrap classes .embed-responsive and .embed-responsive-16by9 or .embed-responsive and .embed-responsive-4by3 instead of the one custom class .video-wrapper - see Boostrap section below__
Bootstrap helper classes and iframe element
A much more straightforward solution when using an iframe, but not compatible with the PluginYoutube would be the use of the Bootstrap helper classes embed-responsive, embed-responsive-XbyY and embed-responsive-item.
Here you wrap the item aswell in a div element, but you use the existing (integrated in Tiki) Bootstrape classes.
The advantage is that you completely omit custom css, but the drawback is the (status Tiki17) missing possibility to use this option with the PluginYoutube, as currently the iframe itself needs to have the class embed-responsive-item.
This is the original example from getbootstrap.com:
<!-- 16:9 aspect ratio --> <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" src="..."></iframe> </div> <!-- 4:3 aspect ratio --> <div class="embed-responsive embed-responsive-4by3"> <iframe class="embed-responsive-item" src="..."></iframe> </div>
getbootstrap.com:
"Rules are directly applied to iframe, embed, video, and object elements; optionally use an explicit descendant class .embed-responsive-item when you want to match the styling for other attributes. (src: getbootstrap.com)"
Thx to luciash d'being (aka luci) to point out the option to use the Bootstrap helper classes!
Responsive YouTube video - Custom CSS and Wrapper
Here is the trick:
a. Custom CSS
You need to add a little bit of CSS code to your website, either to your theme (in the themes directory on the server) or to the Look and Feel custom css area in the Tki admin control center (tiki-admin.php?page=look):
.video-wrapper { position: relative; padding-bottom: 56.25%; padding-top: 10px; overflow: hidden; } .video-wrapper iframe { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
b. Wrapper
You need to wrap either your PluginYoutube or your original embedding iframe into a simple div element with the responding class (see above) whih you can name for examle .video-wrapper (se also below the Bootstrap section). Mind to not use width and height neither in the original embedding code iframe nor in the PluginYouTube:
Apparently the PluginYoutube and the HTML iframe element do handle the ratio differently (4:3 / 16:9), but still both are responsive.
This code ...
{DIV(class=video-wrapper)} {youtube movie="Dm0YnuQeROI" quality="high" allowFullScreen="y"} {DIV}
... will show this video
of Codecorse from YouTube
This code ...
{HTML()} <div class="video-wrapper"> <iframe src="https://www.youtube.com/embed/PL_R3zEjqEc" frameborder="0" allowfullscreen="y"></iframe> </div> {HTML}
... will show this video
of CodeCascade from YouTube
Thx to Codecourse (video1) and CodeCascade (video2) from YouTube to explain the little hack.
Maybe we will add this CSS hack as a parameter or preference or default css to Tiki at some time.
Show a playlist
For example, to embed a YouTube playlist, can use the Module last_youtube_playlist_videos.
Or you can get the embed URL from YouTube, remove the "PL" at the front of the video ID, then in Tiki editor, click the "flash" icon, select Flash Type: Movie URL, then enter the URL as http://www.youtube.com/p/25DD9663EE128030:
{flash type="url" movie="http://www.youtube.com/p/25DD9663EE128030"}
/v/wWmE6Zvo37E
and not like watch?v=UmAfQ-GgtCQ