ffmpeg wrapper website but ffmpeg in your browser so less problematic
  • TypeScript 85.3%
  • CSS 13.5%
  • HTML 0.6%
  • JavaScript 0.4%
  • Shell 0.2%
2026-05-03 11:58:14 -07:00
.forgejo add release workflow 2026-03-02 16:36:23 -08:00
docs add documentation 2026-05-03 11:51:43 -07:00
src shill docs on website 2026-05-03 11:58:14 -07:00
.gitignore style the text box a bit 2026-04-27 15:13:48 -07:00
importmap.js add caching serviceworker 2026-03-06 22:26:25 -08:00
index.html Try to optimize loading by shoving the scripts at the end 2026-03-16 22:41:17 -07:00
manifestTemplate.txt add caching serviceworker 2026-03-06 22:26:25 -08:00
noopsw.ts make a spinning hourglass. how productive 2026-03-11 22:51:35 -07:00
package.json Throw blob urls at the problem 2026-04-30 00:56:02 -07:00
patchwork Throw blob urls at the problem 2026-04-30 00:56:02 -07:00
pnpm-lock.yaml bump jspm to 4.4.0 2026-03-02 13:58:49 -08:00
README.md update README 2026-04-30 15:44:26 -07:00
sw.ts add caching serviceworker 2026-03-06 22:26:25 -08:00
tsconfig.json parse this stuff with a REAL PARSER wow 2026-04-11 22:23:51 -07:00
vendor-it vendor more things because bundlers were a mistake 2026-03-02 02:04:33 -08:00

fumux

convert your files. convert your friends. help your friends convert their files.

What is it good for?

  • running your favorite ffmpeg commands on the go
  • audio/video processing beyond just "re-encode into a different container"
  • helping people with converting their files too

ffmpeg under the hood, with WASM, so it all runs in your browser.

vert is recommended if you want something simpler or don't know how to use the ffmpeg CLI.

to use it, go to penguinencounter.github.io/fumux-prod (canary deployments are also available)

Development

this project is based on JSPM (which uses modern standards to make imports not suck.) unfortunately JSPM also kinda sucks so there's a couple of bash scripts involved to tie things together:r:

  • vendor-it copies a bunch of node-modules into the gitignored vendor directory. the website references these resources mainly because they can't be easily rollup'd (ex. the wasm modules and worker scripts)s)
  • patchwork messes with libraries and generates a manifest for distribution builds.

to run:

pnpm dev

to build a static website in dist:

pnpm build