Video xBlock Thoughts

Current state for Video xBlock

At open edX conference we came to know that Appsembler has already built a new video xBlock with RaccoonGang to address video security concerns. The xBlock currently is in beta version and not completed yet. Here is list of key features that they've implemented:

  • Using VideoJS video player
  • Using 3player media for transcripts
  • Supports external urls (BrightCov, Vimeo backend support)

Here are few things that they do not support at the moment

  • Video pipeline ( Encodings, Video Images etc etc)
  • HLS
  • A11y
  • Not sure about events, save states.

For detailed version, please look at this blog post https://www.appsembler.com/blog/deliver-videos-securely-open-edx-courses-new-video-xblock/

https://www.appsembler.com/blog/why-open-edx-needs-an-alternative-video-xblock/

For video xblock repository https://github.com/appsembler/xblock-video

VideoJS repository https://github.com/MarCnu/videojsXBlock

How to move forward

We're not sure which path to follow at this point but i think we can work on other high priority projects  (auto-generated video images, new authoring UX for video component and some transcripts related work) in current video xModule until we come up with final decision and plans to adopt new xBlock.

But here are few paths that we can follow:

  1. Stick to our main plan

    Create a shell video xBlock, but then duplicate all the existing code into the new xBlock.  Initial release includes all existing code.  Then iterate on the new xBlock by incrementally removing all the extra stuff that's no longer needed. Refactor at each iteration with clean-code practices in mind.

  2. Other way could be to adopt new video xBlock and start working on it with Appsembler
    This path includes a lot of questions since this does't support video pipeline and uses it's own backend for secure videos like BrightCov & Vimeo etc, 
    Other than features list, there are more concerns related to communication/coordination, partnership between edX & Appsembler. Also at this point we're not sure how to proceed working with Appsembler after product's approval. 
    All being said here could take significant time since we don't want to block ourself in order to adopt this, so decided to work on this process in parallel with other features.
    NOTE: (After discussion with Nimisha Asthagiri (Deactivated) and Shelby Quinn (Deactivated), we decided, not to adopt this new xBlock instantly until we make our way paved which means proper partnering and communication plans with Appsembler which could be time consuming and that's something we can do in parallel with our current projects)