finds.dev← search

// the find

ErickWendel/semana-javascript-expert08

★ 2,442 · JavaScript · updated Jan 2025

JS Expert Week 8.0 - 🎥Pre processing videos before uploading in the browser 😏

A workshop repo from a Brazilian JavaScript educator covering in-browser video pre-processing using WebCodecs, MP4Box.js, and Web Workers before upload. Each lesson folder (aula01, aula02) is a self-contained snapshot of the codebase at that point in the course, so the repo is really a tutorial artifact rather than a reusable library.

Uses WebCodecs API correctly — demuxing MP4 via MP4Box.js, feeding decoded frames to a canvas renderer in a Worker, and muxing output WebM chunks, which is the right architecture for keeping the main thread unblocked. The lesson-by-lesson folder structure makes it easy to diff what changed between sessions. The server-side upload handler in aula02 shows how to stream multipart chunks without buffering the whole file in memory. Vendoring mp4box.0.5.2.js and webm-writer2.js means the demo runs without a build step.

This is course material, not production code — the checklist in the README is still full of unchecked items (360p/720p encoding, audio track handling, WebM duration bug) and the challenges are explicitly left for students. Browser support for WebCodecs is still Chromium-only; Firefox and Safari users get nothing, and there's no fallback or detection. The vendored mp4box is pinned to 0.5.2 from 2021 and is just dropped as a script file with no way to update it short of manually replacing it. Audio is completely ignored in the pipeline, so any video with audio comes out silent.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →