Table of Contents

VideoJs Update

Requirements

1) Need to play all videos in the site using Videojs player. Currently we are playing all Uploaded/Recorder videos using JWPlayer.

2) Also have to update Videojs plugin to the latest version released

3) Support Annotation with Videojs

4) Also stream all uploaded/recorded videos using Videojs and Red5 in web

Implementation

1) Updated Videojs to latest version 5.19.2 releases in April'17

2) For now we are streaming videos using Red5 in Flash mode

3) All uploaded/recorder videos will be played in Flash mode and external videos will be played in Html5 mode

4) Once a video is uploaded and processed, it is copied to a location from where red5 can stream. For now, we are using recorder as the streaming end point and we copy the videos to a a directory in recorder/streams. (Already available)

5) When we are playing, if a video is present in the streams directory then stream it otherwise fallback to progressive download from crossbow content processed directory. (Already available)

6) In iOS devices streaming is supported through Apple HLS (Already available)

7) Earlier the UI of youtube and vimeo player was different, now all videos(weblink/uploaded/recorded) have the same player UI

8) Vimeo/Youbute videos are played in html5 mode throughout the site

9) The controls for the video player will show/hide on mouseover/mouseleave provided by the updated plugin

10) Earlier enrolled external videos will not play from last stopped position, now all enrolled videos will play from the last played position

11) Now annotations are made compatible with Videojs and will also appear on Fullscreen mode

Observations

1) As of now the streaming experience is good with red5

2) Annotation works fine and visible in Fullscreen mode

To Be Tried

1) We need to come out of Flash completely and play all videos in Html5 mode

2) There is videojs-contrib-hls and http-pseudo-streaming options available have to go through these and find out how it works