HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Kagami
ffmpeg.js
JavaScript2016–2025
Kagami / ffmpeg.js

ffmpeg.js

Port of FFmpeg with Emscripten

8Distinct people
10Mentions
0Explicit recommenders
3.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Port of FFmpeg with Emscripten

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:45:45 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year10 dated mentions

Observed mentions: 2016-12-06 12:04:53 UTC to 2025-06-04 16:39:28 UTC.

012342016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

2 sources
One thing that's really great about wasm is how it enables lots of native libraries to be usable in the browser. Recently I ran into performance issues due to limitations in the WebAudio API and was able to workaround it by compiling FFmpeg to wasm and using it instead. Being able to use FFmpeg in the browser is very powerful and brings a huge suite of encoding/decoding capabilities that browsers currently lack right now (at least until WebCodecs becomes standardized and implemented). On another side, compiling existing C/C++ libraries to wasm is still very painful. I struggled a lot using Emscripten to port FFmpeg to wasm - you have to compile EVERY dependency to wasm (so I ended up re-compiling libopus, libmp3lame, etc.) and the compiler warnings are often super cryptic which made the entire process a complete nightmare. The process rea
Read the rest
lly needs a lot of work still. For anyone that's interested, this is the result from my endeavor: https://github.com/aeroheim/audio-file-decoder And also check out a great general purpose FFmpeg wasm port here: https://github.com/Kagami/ffmpeg.js
In WebAssembly
I've had an in-browser animated meme editor in the freezer for a few years now: https://www.ultime.me/ The idea came when I wanted to make a simple animated meme, but found it exceedingly frustrating to caption a simple animated gif with nice text options (like outlines). Over time, it's grown to have full keyframe animation for all text and image/video clip attributes, so it is actually pretty capable short of using a desktop video editing/fx package. That said, the UX is bad and I should feel bad :) . I made the deliberate choice up front to focus on the underlying data model and internal APIs rather than polishing the UI - as such, it is very much an engineer interface. It would be more usable with some demo videos or call-to-action helpers for new users, but really the UX just needs reworked. Especially around animation/keyframing. On
Read the rest
the bright side, the clean data model and content addressable assets leave the path clear to add things like collaborative multi-user meme editing, git like meme-forking(and diffing?), and so forth. Started it about 3 years ago when I had a period of mostly free time to play. It's been idle for a long time due to starting a family and getting consulting momentum, but I'm intending to make the time this year to polish the UX to the point of general usability and experiment with promotion/monetization. Failing that, I'll probably just open source it and write a couple of blog posts about the internals. It is more or less a static web app, with no server side function short of some optional stats collection. It's written in Clojurescript/Clojure and uses https://github.com/tonsky/rum as a React wrapper and https://github.com/Kagami/ffmpeg.js/ to import most animation formats and export gifs/webm fully in browser (I don't want to pay real server costs to encode animation).
In Ask HN: Show me your half baked project

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.