Sign in

Vanilagy

@vanilagy.bsky.social
245 followers 14 following 536 posts

Author of Mediabunny and Marble Blast Web. I love working on technically challenging projects that bring the best out of the web. mediabunny.dev

PostsRepliesMedia
Vanilagy @vanilagy.bsky.social · 9h
I think I need to start doing "Mediabunny days"; full days where I work on nothing but grinding down Mediabunny issues and PRs, and working on new features at the end of it. I think this will be more efficient for me than sprinkling in Mediabunny issue work throughout every day
140
Vanilagy @vanilagy.bsky.social · 13h
github.com/WebKit/WebKi...
github.com
WebCodecs video encoder may buffer too many frames by youennf · Pull Request #74602 · WebKit/WebKit
56c5d51 WebCodecs video encoder may buffer too many frames rdar://188029698 https://bugs.webkit.org/show_bug.cgi?id=324827 Reviewed by Per Arne Vollan and Jean-Yves Avenard. On macOS 27, VideoToo...
010
Vanilagy @vanilagy.bsky.social · 13h
Safari 27.0.0 and 27.0.1 unfortunately have a pretty disastrous bug in VideoEncoder, rendering it (almost) useless for video encoding tasks unless you're really really patient This has thankfully already been fixed, I hope the fix rolls out quickly
110
Vanilagy @vanilagy.bsky.social · 03/10/2026
That list of CVEs is finite tho
000
Vanilagy @vanilagy.bsky.social · 02/10/2026
Sometimes I share interesting things on X that I can't share here because here I'm limited to 300-character posts
000
Vanilagy @vanilagy.bsky.social · 02/10/2026
Responsive design endboss Love it
010
Vanilagy @vanilagy.bsky.social · 30/09/2026
You're allowed to look at stars but just not that one!!
012
Vanilagy @vanilagy.bsky.social · 29/09/2026
Holy shit it's going to be amazing
110
Vanilagy @vanilagy.bsky.social · 29/09/2026
Mediabunny v1.61.0 now supports HLS playlists with variable substitution! 🚀 This is a powerful feature where variables can be defined inline or via query parameters, and then substituted in URLs. An example:
000
Vanilagy @vanilagy.bsky.social · 28/09/2026
Just found out that Mediabunny's extension packages have been broken on Deno for many many months, and nobody noticed! I suppose the Mediabunny + server-side + Deno combination must be quite rare 🙃
130
Vanilagy @vanilagy.bsky.social · 25/09/2026
Trip Buck Bunny
050
Vanilagy @vanilagy.bsky.social · 21/09/2026
The life of a media demuxer developer: needing to make your perfectly spec-compliant and correct parser less strict because lots of invalid inputs are being produced in the wild and still accepted by other (lesser) parsers 😫
150
Vanilagy @vanilagy.bsky.social · 20/09/2026
Very cool man! I love seeing PWAs still being made, very underrated technology imo. If I ever made a tool like this, I'd also PWA the crap out of it 😂
100
Vanilagy @vanilagy.bsky.social · 17/09/2026
"Hungary-linked AT Proto-er"
010
Vanilagy @vanilagy.bsky.social · 17/09/2026
This is a WASM based library! It's just not supposed to feel like one, it's supposed to feel like JS
010
Vanilagy @vanilagy.bsky.social · 17/09/2026
I'm reaching speedups of 15x compared to pure JS for some operations. I hear excuses all the time that SIMD isn't worth it, that the conversion roundtrip nullifies the gain, etc. This is pure cope. SIMD reliably gives me a 4x speed boost MINIMUM every time I use it, it's so good
0271
Vanilagy @vanilagy.bsky.social · 17/09/2026
The way it works under the hood is super super cool and novel. Will share more when it's done ^^
040
Vanilagy @vanilagy.bsky.social · 17/09/2026
I'm back. Library is almost complete and it's fucking glorious. The API is dead simple, just TypedArrays with SIMD operations. The code in the screenshot runs 6x faster than the scalar JS version. It has over 700 SIMD operations; they typically run at 5x-10x JavaScript speed
1302
Vanilagy @vanilagy.bsky.social · 17/09/2026
The fact that I have literally no idea what any of them do 😂😂😂 Need me some kurtosis
010
Vanilagy @vanilagy.bsky.social · 17/09/2026
Don't be a larper; be a lerper
100
Vanilagy @vanilagy.bsky.social · 16/09/2026
VLC unfortunately fails spectacularly at this task, lol
010
Vanilagy @vanilagy.bsky.social · 16/09/2026
Mediabunny v1.57.0 adds a TON of new features, among which is flipped video support! 🚀 Some videos in the wild are flipped horizontally via metadata in the file, and Mediabunny now fully supports reading, writing, encoding and decoding such files across both MP4 and WebM!
170
Vanilagy @vanilagy.bsky.social · 16/09/2026
The upcoming version of Mediabunny will automatically write the "btrt" (bitrate) boxes into MP4 files. This gives players and tools a better understanding of the media's data rate. The coolest thing is that this added exactly zero new API! Mediabunny determines it for you.
080
Vanilagy @vanilagy.bsky.social · 16/09/2026
Before agents, most of the issues I got looked like that. Without this, OSS development feels much more lonely: you make software for other people and you mostly hear back from machines.
120
Vanilagy @vanilagy.bsky.social · 16/09/2026
This is the new reality so I'll get used to it, but I personally find it hard to understand why it is like this. I know for myself that I would write the descriptions by hand because I want to communicate with the maintainers on a more personal level and let them know that I appreciate their work.
110
Vanilagy @vanilagy.bsky.social · 16/09/2026
I would expect that most devs switch over to using AI to code (I use it too!), but then file the issue/PR themselves with a "Hi, this is what I tried to do, this didn't work, this is the fix". But no, about 90% of the issues I get on Mediabunny these days are fully AI written.
100
Vanilagy @vanilagy.bsky.social · 16/09/2026
What surprises (and saddens) me the most about the new reality of agentic software engineering is how a majority of issue and PR descriptions are fully AI-written.
110
Reposted by Vanilagy
CreaTools @creatools.bsky.social · 15/09/2026
one of the recent additions to creatools is the video trimmer. powered by @vanilagy.bsky.social's #mediabunny, the export is lightning fast and even let's you export your own custom gifs in no time. give it a shot at: crea.tools/video-trimmer #creatools
051
Vanilagy @vanilagy.bsky.social · 15/09/2026
Can't believe there's still no SIMD library for JavaScript I'll be back
060
Vanilagy @vanilagy.bsky.social · 15/09/2026
That song actually pisses me off but the rest of the album is great 😂😂
110
Vanilagy @vanilagy.bsky.social · 14/09/2026
Here's your reminder that Mediabunny is able to read & write metadata tags from and to basically every format! Includes every tag you could possibly want, including cover art. So, no need to use another library for this!
190
Vanilagy @vanilagy.bsky.social · 12/09/2026
23 kB for a validation library does seem a little big to me. I suppose it has a lot of features and none of them are treeshook?
120
Vanilagy @vanilagy.bsky.social · 12/09/2026
When it's released 👀 I'll share more tho!
020
Vanilagy @vanilagy.bsky.social · 11/09/2026
The thing running looks like this:
050
Vanilagy @vanilagy.bsky.social · 11/09/2026
After seeing what's possible with Zig in WASM, I was tired of not having the same possibilities in JavaScript!
140
Vanilagy @vanilagy.bsky.social · 11/09/2026
I'm working on a new library that enables real shared-memory multithreading for JavaScript, natively. Here, the main thread and a worker cooperatively increment a counter. The state object is truly shared between the two threads; no messages are ever exchanged after the initial handshake.
4243
Vanilagy @vanilagy.bsky.social · 11/09/2026
JavaScript natively supports shared-memory multithreading
010
Vanilagy @vanilagy.bsky.social · 10/09/2026
Cursed JS of the day: you can array push to objects
2431
Vanilagy @vanilagy.bsky.social · 10/09/2026
A majority, even!
000
Vanilagy @vanilagy.bsky.social · 10/09/2026
Closing in on 30 reported Chromium bugs 🫠 When will Alphabet give me stock for this?
1150
Vanilagy @vanilagy.bsky.social · 09/09/2026
I always report these bugs to the browser vendors too, of course!
020
Vanilagy @vanilagy.bsky.social · 09/09/2026
Mediabunny goes great lengths to work around any and all WebCodecs bugs it encounters. Here's some new logic that works around an FFmpeg H.264 decoder bug by hacking around in the SPS bitstream. You can hit this in Chromium with the software decoding path forced.
150
Vanilagy @vanilagy.bsky.social · 08/09/2026
Media copying can preserve timestamps exactly, regardless of video key frame alignment. When a simple media copy isn't possible, you can configure Mediabunny to be less strict to still make it happen. For more, check out the relevant section in the docs: mediabunny.dev/guide/conver...
mediabunny.dev
Converting media files | Mediabunny
Efficiently convert any media file to any format, directly in the browser. Optionally apply trimming, video resizing, rotation, custom overlays, and more.
030
Vanilagy @vanilagy.bsky.social · 08/09/2026
Mediabunny v1.56.0 is out! 🎉 It ships with huge improvements to the Conversion API, enabling near-instant media trimming via new media copying logic. Here's Mediabunny trimming a video to [60s, 120s], with no loss in quality:
1200
Vanilagy @vanilagy.bsky.social · 08/09/2026
clack
111
Vanilagy @vanilagy.bsky.social · 07/09/2026
Update dropping tomorrow 👀 The performance is nuts, it extracts a 60-second clip from Big Buck Bunny in 50 milliseconds. So, for all intents and purposes, it is instant trimming
0170
Vanilagy @vanilagy.bsky.social · 04/09/2026
A huge improvement to media conversion is coming in the next Mediabunny version 👀 It will allow you to trim/clip any section of media WITHOUT transcoding. This means media trimming will be practically instant, and with zero loss of quality.
0130
Vanilagy @vanilagy.bsky.social · 04/09/2026
I'm sorry, but VLC is just so buggy. Second bug I encounter today! The file I'm giving it is a Matroska file with negative SimpleBlock timestamp offsets. The spec is SUPER clear about this, it defines it as signed 16 bit. Seems VLC just doesn't care and reads it as unsigned!
000
Vanilagy @vanilagy.bsky.social · 04/09/2026
This is pretty exotic for HLS, but negative timestamps in general are not. They're used to communicate audio encoder delay - the portion at the start of the audio where the decoder needs to warm up to converge to the full signal.
000
Vanilagy @vanilagy.bsky.social · 04/09/2026
Next highly niche Mediabunny capability: HLS with negative timestamps
150