...
Needs to support playing youtube videos as well as uploaded videos (e.g. mp4 and DASH)
Authors can set start and end times for videos
Authors can upload transcripts
Authors can download transcripts to edit and reupload
Closed captioning is visible in the video player view
Maintain the right-hand side timed transcript display that the current player has
Transcripts can be added in other languages, and can be selected by video viewers for display
Transcript shifts to left side for RTL languages
Accessibility features (i.e. keyboard based controls) must be considered requirements for anything that is going in LMS.
Download video and watch offline (with options to enable or disable)
Various replay speeds
Display SRT captions
Add contextual content such as license information or pdf handouts
Thumbnail upload and delete
Signed URLs: 2U/edx.org currently uses signed URLs (originally from AWS Cloudfront, now from Cloudflare) to ensure that the user is authorized to view a stream.
Mobile video support on parity with current support
Support for current in-video features
In-video quizzes: developed by Stanford, it's described as a "Helper XBlock to locate CAPA problems within videos." More technical discovery is required here to understand how this works and how to continue support.
Support for or viable alternative to Javascript-controlled video as used by HarvardX - see page comment: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3674734593?focusedCommentId=3679125505
...
It needs to be a Javascript-based component
Almost certainly, it needs an HTML5 video component base
There are a slew of legacy video player compatibility requirements, including (but possibly not limited to):
Discovery will need to be done on what fields currently exist in the XBlock, and as much as possible should go through the Deprecation process before beginning the process of migrating any over
Such as the multi-speed YouTube upload option, which we used in 2012 before YT started generating multiple speeds for you. Open questions: Is anyone using video bumpers? What features weren’t ported to the MFE, or are no longer exposed in the UI? etc
Discovery will also address the details of how we manage transcript files today
What do we need to do with legacy Transcript utilities?
Ideally, this is a drop-and-replace player within the current XBlock, such that instances upgrading the version of the block would get the player across all courses with no intervention
If this proves to be difficult, what would be the plan for a new XBlock + migration plan to the new block? How much more/less difficult is this?
Proposed Options
Option 1: https://www.npmjs.com/package/React-player
...