ffmpeg.wasm VS reference-types

Compare ffmpeg.wasm vs reference-types and see what are their differences.


FFmpeg for browser and node, powered by WebAssembly (by ffmpegwasm)


Proposal for adding basic reference types (anyref) (by WebAssembly)
Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
ffmpeg.wasm reference-types
27 4
6,239 147
7.0% 1.4%
7.0 5.5
2 months ago 16 days ago
JavaScript WebAssembly
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of ffmpeg.wasm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-14.


Posts with mentions or reviews of reference-types. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-08-20.
  • FFmpeg for browser and node, powered by WebAssembly
    news.ycombinator.com | 2021-08-20
    > And there's been talk of exposing the JS GC to wasm for a few years. Hopefully when that stuff lands, it'll get easier to marshal objects across the gap.

    You don't need a Wasm GC to do this. If you only need js objects to pass on to, say, the host's function or check is null or not, then reference types that are opaque external references: https://github.com/WebAssembly/reference-types/blob/master/p...

    You can even do many more things if you export `Reflect` to WebAssembly: https://github.com/AssemblyScript/assemblyscript/blob/main/t...

    Reference Types are available almost everywhere already (In Safari will be available after 15.0): https://webassembly.org/roadmap

  • WebContainers: Run Node.js natively in the browser
    news.ycombinator.com | 2021-05-20
  • Cranelift, Part 3: Correctness in Register Allocation
    reddit.com/r/rust | 2021-03-15
    Re: GC -- yes, indeed, the whole business with safepoints arose from the need to support Wasm reference types as a backend for Wasmtime or Firefox. No safepoints are needed for Rust (or other C-like) code.
  • Wasmer 1.0 released, the fastest WebAssembly VM, cross-compilation, headless, native object engine, AOT compilers and more!
    Reference Types,

What are some alternatives?

When comparing ffmpeg.wasm and reference-types you can also consider the following projects:

handbrake-js - Video encoding / transcoding / converting for node.js

node-ytdl-core - YouTube video downloader in javascript.

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

ffmpeg-libav-tutorial - FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcoding and more

draw.io - Source to app.diagrams.net

rust-ffmpeg-wasi - ffmpeg libraries precompiled for WebAsembly/WASI, as a Rust crate.

remotion - 🎥 Create videos programmatically in React [Moved to: https://github.com/remotion-dev/remotion]

assemblyscript - A TypeScript-like language for WebAssembly.

Node.CLI-Progress - :hourglass: easy to use progress-bar for command-line/terminal applications

readable-stream - Node-core streams for userland

SkiaJS - A powerful 2D graphics library based on Skia

godot-docs - Godot Engine official documentation