dyoung2019 / ffprobe-wasm

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

Home Page:https://alfg.github.io/ffprobe-wasm/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FFProbe Wasm

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

With multi-threading disabled fork

No pthreads therefore should be compatible with all(more) browsers.

⚠️ ️Compatible with Chrome and Edge only due to limited support for SharedArrayBuffer and the required CORS headers for Firefox on Github Pages.

Prebuilt files

  • dist/ffprobe-wasm.js
  • dist/ffprobe-wasm.wasm
  • dist/ffprobe-wasm.worker.js

TL;DNR Setup

git clone https://github.com/dyoung2019/ffprobe-wasm.git
docker build ffprobe-wasm/
cd ffprobe-wasm/
docker-compose run ffprobe-wasm make

Credits

  • emscripten docker image 2.0.18
  • ffmpeg 4.4
  • x264 version 20191217-2245-stable

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

Deploy

Deploys to Github Pages

npm run deploy

Resources

License

MIT

About

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

https://alfg.github.io/ffprobe-wasm/

License:MIT License


Languages

Language:C++ 39.8%Language:Vue 34.8%Language:JavaScript 12.0%Language:Dockerfile 8.5%Language:HTML 2.4%Language:Makefile 1.6%Language:Shell 0.8%