Kaltura's HTML5 Media Library enables you to take advantage of the html5 <video> and <audio> tags [1] today with a consistent player interface across all major browsers including Internet Explorer.
The library supports a seamless fallback with Flash based playback using Kaltura's Flash player [2] or Java Cortado for browsers that don't yet feature HTML5 video & audio support. Upon detection of the client browser, the Kaltura HTML5 Media Library chooses the right codec to use (specified in the source attributes, or available from a Kaltura server) and the right player to display. So whether you're using flash, h264, ogg-theora, or WebM -- Kaltura's library will make sure it is played on all browsers with the same UI.
While support for HTML5 video is growing, there is large percentage of the web browser market that is presently best served by the Adobe Flash plugin and an associated player. A base component of the Kaltura HTML5 javascript library bridges this gap, by cascading to an underlining Flash player in browsers that do not support the native HTML5 video player. In addition, Kaltura's player maintains a unified look & feel across formats and browsers.
The AdSupport Module includes a simple api to integrate ads into the player.
See an example page here [3]
If you ad service is in VAST format you can use the VAST loader and parser. This loads the ad data over the jsonp xml proxy
Kaltura's HTML5 Video Library may be installed in conjunction with existing flash video integrations to provide fall forward from flash to html5 to enable video embedding for iPhone and iPad.
Installing html5 support to an existing Kaltura integration is as simple as adding a javascript tag to include http://html5.kaltura.org/js [4]. The library will automatically replace your Flash embed with an html5 <video> element on browsers capable of parsing the tag.
You can add a custom jquery ui theme by using the theme wizard: http://www.kaltura.org/apis/html5lib/kplayer-examples/Player_Themable.html [13]. Note that although the themeroller only works in Firefox, the temes you create with it will work in multiple browsers.
You can add a custom jquery ui theme by using the Theme Wizard [13]. Downloading that theme and adding a reference to jquery-ui-.custom.css after the mwEmbed-player-static.css file.
A few sample jquery ui skins are included in the skins/jquery.ui.themes folder of the HTML5 Video Player [14].
You can remove the kaltura attribution for the player by adding the following javascript:
<script [8] type="text/javascript">mw.setConfig('EmbedPlayer.AttributionButton', false );</script [8]>
Using Kaltura's HTML5 Media Library in your own applications is as simple as adding a script include of the library javascript, http://html5.kaltura.org/js [4] and then using the normal html5 video tag, ie <video src="myOgg.ogg">.
Putting it all together your embed page should look something like this:
<video class="kskin">For common kaltura HTML5 configuration info please see Kaltura HTML5 Configuration [17] on html5video.org
When viewing on a touchscreen device use two finger scrolling to scroll within the demonstration frame.
You may view these demonstrations full screen by visiting http://kaltura.papyromancer.net/docs/kaltura-demo/
Please Download the Latest Release from: http://www.kaltura.org/project/HTML5_Video_Player [14]
mwEmbed is designed to be used with a script-loader and this static package sacrifices
transport size and packages in code every client won't use, in order to be a single static file and distribute the playback portions of the HTML5 Media Library as a stand alone HTML5 Video Player under the MIT License.
For full un-minified source see HTML5 Video Player [14]
In the <head> of your page you will need jQuery and the mwEmbed-player package:
<!-- Include the css and javascript -->
<link [18] rel="stylesheet" href="kaltura-html5player-widget/skins/jquery.ui.themes/jquery-ui-1.7.2.custom.css"></link [18]>
<link [18] rel="stylesheet" href="kaltura-html5player-widget/mwEmbed-player-static.css"></link [18]>
<script [8] type="text/javascript" src="kaltura-html5player-widget/mwEmbed-player-static.js"></script [8]>
Now in your HTML you can use the video tag and it will be given a user interface ie:
To use the load optimized HTML5 Media Library [19] replace your mwEmbed script include line of <head> with:
<script [8] type="text/javascript" src="http://html5.kaltura.org/js" ></script [8]>
Opening the example from http://www.kaltura.org/project/HTML5_Video_Media_JavaScript_Library [19] -> Using Kaltura SaaS for Video Transcoding section using OS and web browser pointed out for each row of the Supported Platforms Matrix.
| OS | Web Browser | Result | Reported issue: | Diagnostic/Workaround |
| Ubuntu 10.10 Maverick | Google Chrome 12.0.742.124 | It works. | ||
| Ubuntu 10.10 Maverick | Firefox 3.6.18 | Does not work. Poster shows but clicking play button does not render the video. | http://www.kaltura.org/video-does-not-play-ff3618-ubuntu-1010-maverick-meerkat-box [34] | Firefox 3.6.18 do not support the version of ogg file that kaltura is encoding. Not known workaround. |
| Ubuntu 8.04 - Hardy Heron | Google Chrome 8.0.552.237 | It works. | ||
| Ubuntu 8.04 - Hardy Heron | Firefox 3.0.3 | Does not work. JS console error: targetId is not defined | ||
| Win XP | Firefox 3.0.9 | It works. | ||
| Win XP | Firefox 3.6.13 | ]Does not work. Poster shows but clicking play button does not render the video. | ||
| Nokia N900 Maemo 5 | Maemo 5 browser | Does not work. Poster shows but clicking play button does not render the video. |
Troubleshooting
You will need to encode your video files into multiple codec formats to provide video for device platforms like iPhone, iPad, Android, and Blackberry. Dive into HTML5 [35] provides an excellent reference for encoding these multiple video formats with Firefogg [33] , FFmpeg, and Handbrake.
If you would prefer to not have to deal with encoding your videos into multiple formats, you should obtain a trial account with Kaltura [15] and request a support technician setup your account to provide html5 flavored video codecs.
Note that if the MIME types for Theora video are not set on the server, the video may not show or show a gray box containing an X (if JavaScript is enabled).
You can fix this problem for the Apache Web Server by adding the extension used by Theora video files (“.ogm”, “.ogv”, or “.ogg” are the common types) to the MIME type “video/ogg” via the “mime.types” file:
application/ogg ogg (if not exist skip this step), delete this linevideo/ogg ogg ogm ogvOr by adding the “AddType” configuration directive in httpd.conf -
AddType video/ogg .ogm
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webmYour web host may provide an easy interface to MIME type configuration changes for new technologies until a global update naturally occurs. Background
This project started as a part of the MediaWiki HTML5 media functionality project. mwEmbed is another name by which Kaltura’s HTML5 Media Library is known at Wikimedia, where it provides Wikipedia’s upcoming video editing functionality.
mwEmbed provides the basis for other MediaWiki media functionality. For more info see the projects overview on MediaWiki [36] and the associated integration (currently called js2 [37])
Become a Developer
If you find this software useful, stop by #kaltura in FreeNode.
MwEmbed is released under the GPL2 and hosted by the wikimedia foundation.
You may check out a read-only working copy anonymously over HTTP:
svn checkout http://www.kaltura.org/kalorg/html5video/trunk/mwEmbed/ [38]
If you'd like commit access, please submit a request to join this project. [39].
To compile the development documentation you will need to install jsdoc-toolkit [40]
using the following command will place the documentation in a subfolder of your working directory called jsdoc
java -jar <jsdoc-toolkit path>/jsrun.jar <jsdoc-toolkit path>app/run.js -t=<full jsdoc-toolkit path>/templates/jsdoc/ mwEmbed.js loader.js mwEmbedLoader.js ./modules/**/*/*.jsthe documentation may be concatenated to build the README files for both the MIT licensed media player and the gpl licensed media library.
cat overview.markdown features.markdown basic_usage.markdown advanced_examples.markdown mit.markdown troubleshooting.markdown showcase.markdown license.markdown > README
cat overview.markdown features.markdown basic_usage.markdown mit.markdown troubleshooting.markdown showcase.markdown > README.mitREADMEs and individual pages may be converted to html using your favorite markdown to html converter:
bluecloth README > docs/README.htmlFor an overview of all mwEmbed files see: http://www.mediawiki.org/wiki/MwEmbed [41]
For stand alone usage see http://kaltura.org/project/HTML5_Media_JavaScript_Library [42]
Links:
[1] https://developer.mozilla.org/En/Using_audio_and_video_in_FireFox
[2] http://www.kaltura.org/project/Video_Player_Playlist_Widget
[3] http://www.kaltura.org/apis/stagingHtml5lib/modules/AdSupport/tests/Ad_Events_test.html
[4] http://html5.kaltura.org/js
[5] http://december.com/html/4/element/html.html
[6] http://december.com/html/4/element/head.html
[7] http://december.com/html/4/element/title.html
[8] http://december.com/html/4/element/script.html
[9] http://december.com/html/4/element/body.html
[10] http://december.com/html/4/element/h2.html
[11] http://december.com/html/4/element/object.html
[12] http://december.com/html/4/element/param.html
[13] http://www.kaltura.org/apis/html5lib/kplayer-examples/Player_Themable.html
[14] http://www.kaltura.org/project/HTML5_Video_Player
[15] http://corp.kaltura.com/
[16] http://handbrake.fr/
[17] http://html5video.org/wiki/Kaltura_HTML5_Configuration
[18] http://december.com/html/4/element/link.html
[19] http://www.kaltura.org/project/HTML5_Video_Media_JavaScript_Library
[20] http://www.kaltura.org/apis/html5lib/kplayer-examples/Player_Fallback.html
[21] http://www.kaltura.org/apis/html5lib/mwEmbed/tests/Player_Audio.html
[22] http://www.kaltura.org/apis/html5lib/kplayer-examples/Add_Media_Wizard.html
[23] http://www.kaltura.org/apis/html5lib/mwEmbed/tests/Sequence_Editor.html
[24] http://www.kaltura.org/apis/html5lib/mwEmbed/example_usage/Firefogg_Make_Advanced.html
[25] http://jquery.com/
[26] http://jqueryui.com/
[27] http://xiph.org/
[28] http://mpegla.com/news/n_03-11-17_avc.html
[29] http://people.xiph.org/%7Egreg/video/ytcompare/comparison.html
[30] http://www.archive.org/index.php
[31] http://commons.wikimedia.org/wiki/Main_Page
[32] http://www.flickr.com/
[33] http://firefogg.org/
[34] http://www.kaltura.org/video-does-not-play-ff3618-ubuntu-1010-maverick-meerkat-box
[35] http://diveintohtml5.org/video.html#firefogg
[36] http://www.mediawiki.org/wiki/Media_Projects_Overview
[37] http://www.mediawiki.org/wiki/JS2_Overview
[38] http://www.kaltura.org/kalorg/html5video/trunk/mwEmbed/
[39] http://www.kaltura.org/../join-project%3Flightframe
[40] http://code.google.com/p/jsdoc-toolkit/
[41] http://www.mediawiki.org/wiki/MwEmbed
[42] http://kaltura.org/project/HTML5_Media_JavaScript_Library