ffprobe-wasm icon indicating copy to clipboard operation
ffprobe-wasm copied to clipboard

A Web-based FFProbe. Powered by FFmpeg, Vue and Web Assembly!

FFProbe Wasm

A Web-based FFProbe. Powered by FFmpeg, Vue and Web Assembly!

https://ffprobe-wasm.netlify.app/

Development

ffprobe-wasm uses emscripten to compile FFmpeg's libav to Web Assembly via Docker.

Emscripten is also used to create and compile the Wasm bindings to be imported by the browser.

Requirements

  • nodejs - https://nodejs.org/en/download/
  • docker - https://docs.docker.com/desktop/

Setup

  • Clone project and build the Wasm module via Docker:
docker-compose run ffprobe-wasm make

This will build the Wasm module and place it into the /dist directory.

  • Copy the JS and Wasm modules into www/public/:
cp -a dist/. www/public/
  • Install and run the web application:
cd www
npm install
npm run serve
  • Load http://localhost:8080/ in the web browser.

Compiles and minifies for production

npm run build

Deploy

Builds and deploys to gh-pages branch.

However, I am hosting on Netlify to enable SharedArrayBuffer support via the required CORS headers.

npm run deploy

Resources

  • https://ffmpeg.org/doxygen/4.1/index.html
  • https://emscripten.org/
  • https://vuejs.org
  • https://bootstrap-vue.org

License

MIT