Skip to end of metadata
Go to start of metadata

Video player requirements

Note: User story references (e.g., us18) refer to our user stories document.

VoV video player needs to satisfy these requirements:

  • RTMP support (us18)
  • Fallback to HTML5 video when Flash player is not supported (iOS) (us18)
  • Javascript API that works identically in Flash mode and HTML5 mode
  • Fullscreen capability (us61)

Features that are required and nice to have built-in but we can write them ourselves

  • Playlists (us11) - list of videos or clips that can be played back in sequence, shared with others, can be manipulated through JS.
  • Clip making (us3, us64) - portions of videos can be defined, played back, and shared with others
  • Closed captions (us43) - ability to toggle on/off
  • Accessibility (us10) - section 508 (support for use by people with disabilities)
  • Blocking access to certain segments of a video (us90) - parts of a video can be restricted based on role, to support IP, ethical, or religious concerns

Features that are not required but would be nice to have and difficult for us to implement

  • Plugin support - possible to write plugins to add functionalities to both Flash & html5 players
  • Skinnable, configurable layout - for look & feel, branding...
  • Adjustable playback speed (us56 - is this possible with streaming?)
  • Adaptive streaming - the player can change video quality (when switching to fullscreen or connection slows down)

Features that we will most likely want to write ourselves

  • Annotations using OAC (us23, us26, us27...) - end-user annotations can be created and shared according to authorization rules; may need both adjacent and overlaid display of annotations
  •  
  • Embedding (us55) - player and a flexible subset of components can be embedded in a web page, CMS/LMS page
  •  

Other requirements

  • MIT/BSD/ECL compatible licensing (not GPL)

Video players compared

The list below only compares open-source players with license less strict than GPL.

 jwplayermediaelement.jsOSMF (StrobeMedia)Engagevideo.jsFluid player
LicenseCustomGPLv2/MITBSDMPLLGPLv3ECL 2.0
FlashYesYesYesYesYesYes
m3u8Flash + HTML5HTML53rd party pluginProbablyUnclearHTML5
Adaptive streamingYesNoYesProbablyNoNo
PlaylistYesNoYesProbablyNoNo
SkinnableFlash + HTML5YesYesNoYesHTML5
Javascript APIYesYesExploratoryYesYesYes
Clip makingYesNoUnclearYesUnclearNo
CaptionYesYesNoYesYesYes

Engage is based on OSMF. We're looking into Fluid Player.

Matterhorn Engage Player

Is documented at https://wiki.dlib.indiana.edu/display/VarVideo/Matterhorn+Engage+Player

Strobe Media Playback

http://www.osmf.com/downloads/pdf/Strobe_Media_Playback_Presentation.pdf

There is a fallback from Flash to HTML5, but does not have an option to specify source (RTMP or mp4) for each type of player. 

Discussion

Meeting 04/27/2012

Engage seems to be not flexible and too tightly coupled to Matterhorn. Getting help isn't easy.

FluidPlayer looks good, has some flexibility, but they're not interested in Flash video. Fullscreen API isn't supported in IE but is useful. We could probably fall back to Flash fullscreen. For now we'll try to make FluidPlayer work with some flash player.

RTMP streaming seems to be unavoidable, as some security barrier has to be there to discourage piracy (though impossible to prevent)

  • No labels