Versions Compared

Key

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

...

Opinions and Further Questions

Frontend Input 

  • Lean towards React-player over video.js based on the externally hosted video req.

  • For start/end time, it seems that should be doable with React-player as wellFor subtitles, moving to vtt is probably the right path forward. It's a well documented format.

  • For transcripts, vtt will also serve us well. There are plenty of ways to parse vtt and make it pretty.

  • The video player should support theme / skin customization. Ideally, we’d be able to associate CSS variables from Paragon to the styles for the video player so that things like colors are consistent between the video player and the rest of the application.

  • Consider the right home for the new video player (e.g., is it a new UI component in the Paragon design system?). If one of the goals of this project is to ensure consistent video player experience across the platform, it may make sense to live in Paragon.

...

edX engineering has concluded that the four options have many commonalities. edX advocates for option number three, video.js, in that this option is best suited to handle edX’s accessibility requirements (WCAG 2.1). However, we do not feel that those requirements trump all other requirements, or that the customizability of other players could not get us to full WCAG coverage. This means that while edX currently favors option 3, we are interested in hearing other opinions as to which option best suits the needs of the Open edX community. 

tCRIL's Axim’s recommendation is also for option three, video.js.  It is not only the more mature project, but also the more consistently maintained one.  In addition, the fact it is not written in React makes it the more flexible option: it will be possible to write an in-house React component based on video.js, but tailored specifically to the (many) project specifications without second-guessing the underlying project's React assumptions.  There is also ample documentation on how to achieve this.  Finally, video.js' plugin architecture makes it possible to implement virtually any needed feature that is not already exposed by video.js itself or one of the plethora of existing plugins.  As an added bonus, DefinitelyTyped supports video.js as of a few months ago.

...