Skip to content

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

License

Notifications You must be signed in to change notification settings

filmhubhq/ffprobe-wasm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

Build for Filmhub

docker builder prune --all
docker-compose build --no-cache
docker-compose run ffprobe-wasm make

Files from dist/ should then be copied to packages/web/public/ffprobe, along with www/public/ffprobe-worker.js (if modified)

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

License

MIT

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 50.3%
  • C++ 27.5%
  • JavaScript 11.4%
  • Dockerfile 6.3%
  • HTML 2.3%
  • Makefile 1.5%
  • Shell 0.7%