CE-17.07

Title: 

Implementation of JavaScript Webm Demultiplexer, and VP8 Video Decoder for Ogv.js

Author(s): 

Brian Parra

Oral Defence Date: 

05/12/2017

Location: 

TH 434

Committee: 

Profs. Ilmi Yoon & Arno Puder

Abstract: 

The Ogv.js project is an experimental JavaScript web video player developed by Brion Vibber of the WikiMedia Foundation. Ogv.js is capable of decoding and playing video without using the standard HTML5 video element. Playback is achieved by handling the complete decode and play logic in JavaScript. The motivation for a full JavaScript video player is to ensure playback, without having to rely on browser-supported formats. The Ogv.js project currently uses cross-compiled libraries, with JavaScript core player logic. This project contributes to Ogv.js by implementing two components of the Webm format, a Webm demultiplexer, and VP8 video decoder. The goal of the JavaScript implementation is to leverage JavaScript specific API’s and facilitate smoother inter-module communication. Resulting JavaScript demultiplexer, and decoder, codenamed JsWebm, and JsVpx, both achieve much better memory usage than cross-compiled modules. JsVpx CPU performance comes very close to Emscripten cross-compiled versions on target WebKit browsers (Safari).

Keywords: 

VP8, Webm, Video Compression, Libvpx, Matroska, Ogv.

Copyright: 

Brian Parra