ogv.js: Rebuilding the Web Video Stack From Scratch in JS
summary
ogv.js reconstructs the HTML5 video stack in pure JavaScript and actually plays Ogg/WebM where browsers lack support, using asm.js-compiled libtheora/libvorbis and a worker/Canvas/WebGL pipeline. It hits 1080p decoded in JS on 64-bit iPads, fails at 4K, and relies on GPU YUV-to-RGB shaders plus a Windows texture hack (quarter-width RGB trick). Audio uses WebAudio with a Flash fallback that ships samples as hex strings, and npm modules expose chunked streaming and playback pieces.
AI-written summary · about
chapters (11)
- 0:00Introduction to Ogv.js
- 2:03The need for open formats
- 5:11Browser compatibility issues
- 7:57Developing the JS solution
- 10:13Architecture and decoding
- 13:18Performance trade-offs
- 15:23Canvas and GPU rendering
- 18:48Audio output methods
- 21:41Bottlenecks and improvements
- 26:23Future directions
- 30:57Q&A and conclusion
related talks
20mStreaming video in the browser without patents
12mExploring Video Editing in the Browser
21mDynamic video in the browser
47mGetting Serious with Web Video
41m“The Upside Down” Of The Web: Video technologies
30mOther browser APIs that are going to change video on the web
42mHow Video Works: A Dive into the Biggest Thing on the Internet & Why You Should Care
35mHTML5 APIs - The New Frontier
