Git Product home page Git Product logo

ffmpeg.wasm-core's Introduction

FFmpeg.wasm Core

Node Version FFmpeg.wasm Core npm (tag) Maintenance Downloads Total Downloads Month

This is the core part of FFmpeg.wasm where we transpile C/C++ code of FFmpeg to JavaScript/WebAssembly code. It is still very experimental (and slow), but shows the possibilities of using FFmpeg purely in the browser.

If you have any issues for this repository, please put it here: https://github.com/ffmpegwasm/ffmpeg.wasm/issues

Setup ddd

$ git clone https://github.com/ffmpegwasm/ffmpeg.wasm-core
$ git submodule update --init --recursive

Build

  1. Use docker (easy way)

Install latest docker and run build-with-docker.sh.

$ bash build-with-docker.sh
  1. Install emsdk (unstable way)

Setup the emsdk from HERE and run build.sh.

$ bash build.sh

If nothing goes wrong, you can find JavaScript files in wasm/packages/core/dist.

Test

Once the build completes, you can test with following scripts:

$ cd wasm
$ npm install
$ npm test

Configuration

Base

Library/Tool Name Version Remark
Emscripten 2.0.8
FFmpeg 4.3.1

Video

Library/Tool Name Version Remark
x264 0.160.x mp4 format
x265 3.4 mp4 format, only works with -pix_fmt yuv420p10le and -pix_fmt yuv420p12le
libvpx 1.9.0 webm format
theora 1.1.1 ogv format
aom 1.0.0 mkv format, extremely slow (takes over 120s for 1s video), not recommended to use

Audio

Library/Tool Name Version Remark
wavpack 5.3.0 wav/wv format
lame 3.100 mp3 format
fdk-aac 2.0.1 aac format
ogg 1.3.4 required by vorbis
vorbis 1.3.6 ogg format
opus 1.3.1 opus format

Image

Library/Tool Name Version Remark
libwebp 1.1.0 webp format

Others

Library/Tool Name Version Remark
freetype2 2.10.4 font file support
fribidi 1.0.10 Arabic and Hebrew alphabets support
harfbuzz 2.7.4 text shaping engine
libass 0.15.0 SSA/ASS subtitles rendering library

ffmpeg.wasm-core's People

Contributors

michaelni avatar dondiego avatar richardpl avatar elenril avatar mansr avatar jamrial avatar ubitux avatar mstorsjo avatar justinruggles avatar cehoyos avatar bcoudurier avatar rbultje avatar saste avatar rdoeffinger avatar lu-zero avatar aurelj avatar kodawah avatar nevcairiel avatar cus avatar dwbuiten avatar fhvwy avatar mkver avatar ramiropolla avatar aconverse avatar rouseabout avatar yuvi avatar timothygu avatar mypopydev avatar cgisquet avatar axic avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.