Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • 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

      Image Added
  • 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/ 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


  • 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

      • Transcripts aren’t standardized and may be in various locations - YouTube, local storage, or in edx-val - a system that uses, but unclear if anyone in the community does

    • 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: