Evaluations of Existing HTML5 Video Players
Charly's Infusion Video Player
built using Infusion IoC
support captions
uses a copy of Antonio's caption conversion service (PHP app, created for OpenCaps, I believe?)
VideoJS
uses flow player for flash support http://flowplayer.org/documentation/index.html
uses Video for Everybody http://camendesign.com/code/video_for_everybody
GPL 3
includes an event system based on Resig's
has a bunch of commented out stuff that messes with Array.prototype
cleanly written and well documented - easy to read
has an options block similar to jquery
appears to have a strategy for adding and removing behaviour but not on a per instance basis
markup and strings are hardcoded in a private function
mediaelement.js
License: GPLv2/MIT
polyfill: mimics the HTML5 MediaElement API for browsers that don't support HTML5
CSS nicely namespaced
The player uses hard-coded HTML with no means for customization
Player broken out nicely into features
claims to support <track> element
JW Player
commercial license for commercial use (free for non-commercial use)
plugin architecture
includes plugins for captions and audio descriptions
includes a Flash player (requires Flex SDK to build)
does pseudo-streaming
appears to do bitrate switching
supports dynamic resizing via JavaScript
good keyboard a11y
J-media element
License: GPL2/MIT
jQuery plugin
includes a copy of JW Player and Cortada (Java)
not compatible with mobile platforms
demo shows resizable mp4 in a dialog (i.e. resizes with dialog - mp4 only?)
Kaltura
http://www.kaltura.org/project/HTML5_Video_Player (MIT licence)
http://www.kaltura.org/project/HTML5_Video_Media_JavaScript_Library (GPLv2 licence)
http://code.html5video.org/projects/html5video/repository/show/trunk/mwEmbed
MediaWiki plugin
skins hard-code HTML markup
skins pluggable - could write a skin that doesn't hard-code markup
jPlayer
License: GPL/MIT
jQuery plugin but uses its own implementation of widget
Flash-first, HTML5 as fall-back
integrator doesn't write the <video> tag, the jPlayer plug-in does that
seems quite skinnable (one demo shows a text-only audio player)
infusion-style overridable selectors for all controls, feedback, etc.
plugin figures out whether to use html or flash, and then for every action (play, seek, etc) calls the right function
nothing built-in for the <track> element (for captions or subtitles)
basic kbd a11y in place
could use improvements (e.g. enter activates buttons, but not spacebar)
skin doesn't include visual feedback of kbd focus
volume slider itself not kbd-a11y (only mute/unmute)
Video for Everybody
basically:
<video> <object> <img title="instructions to use the download link below"> </object> </video> <a src="downloadable version of video"/>
Pseudo-streaming
http://flowplayer.org/plugins/streaming/pseudostreaming.html
relevant for Flash only ("For HTML5 mode, pseudostreaming works by default in all browsers and with all servers. It needs no specific provider and options.")
needs a server-side module or script to enable it
less secure than Flash’s official RTMP Streaming
OSM Player
License: GPL3
uses jQuery, themable using Themeroller
designed to be used within a Content Management environment, such as Drupal, but can be used standalone
has support for resizing
includes templates that can be customized, but:
these seem to be for use with their OSM Player PHP Library?
the "required HTML" includes direct links to images in the template folder, so you'd have to change all of them?
Projekktor
License: GPL3
uses jQuery
Controls HTML coded in a config block
full screen support inspired by http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
Captionator
License: completely open ("You may copy and use this library as you see fit (including commercial use) and modify it, as long as you retain my attribution comment...")
closed-captioning polyfill for HTML5: implements support for
<track>elementsupport for WebVTT, SRT, SBV, and SUB caption/subtitle formats
namespaced to "captionator"
can provide your own render function for the captions
claims non-standard support for use of
<track>for audio and videosmall bug in video, but can get something to work
haven't been able to get audio to work
bug: Captionator somehow interferes with native volume control?
Akamai’s Open Video Player
http://sourceforge.net/projects/openvideoplayer/files/OVP%20HTML5/
License: open (http://openvideoplayer.sourceforge.net/license)
a 'family of industry best practice video player projects' including Flash, Silverlight, Apple iOS and HTML5
HTML5 version doesn't seem to have been updated since Oct. 2010? http://sourceforge.net/projects/openvideoplayer/files/OVP%20HTML5/
can't find HTML5 code in SVN repo? http://openvideoplayer.svn.sourceforge.net/viewvc/openvideoplayer/trunk/
no documentation?
FlareVideo
License: MIT
markup built by player, hard-coded in JS
class names added by JS, hard-coded, sprinkled throughout
RSMS's HTML5 Video Player
License: fully open / MIT
jQuery plugin
minimalist controls (mute, but no volume control; progress bar, but no scrubbing)
uses <bar> tag for progress bar?
jQuery UI Video widget
License: GPL/BSD/MIT
uses
$.widget()hard-codes markup and class names in the JS
uses jQuery UI Themeroller
SublimeVideo
Currently, a pay service: http://sublimevideo.net/
"will be soon released for free (at least for non-commercial use)"
"still in experimental state and only works on a limited number of browsers"
YUI HTML5 Video Player
License: open
started as entry to the YUI 3 Gallery Contest in March 2010
minified code committed to github
DailyMotion video player
not actually something available - only on the dailymotion site