Vanilagy
@vanilagy.bsky.social
Author of Mediabunny and Marble Blast Web. I love working on technically challenging projects that bring the best out of the web.
https://mediabunny.dev/
https://mediabunny.dev/
Had an absolutely terrific two days at Demuxed in London!
Met tons of great people, and I have proudly lost my "conference speaker virginity" now 👀 Excited to share this talk once the VOD drops!
Huge thanks to the Demuxed organizers for letting me have a 20-min slot. 💘
Met tons of great people, and I have proudly lost my "conference speaker virginity" now 👀 Excited to share this talk once the VOD drops!
Huge thanks to the Demuxed organizers for letting me have a 20-min slot. 💘
October 31, 2025 at 11:40 AM
Had an absolutely terrific two days at Demuxed in London!
Met tons of great people, and I have proudly lost my "conference speaker virginity" now 👀 Excited to share this talk once the VOD drops!
Huge thanks to the Demuxed organizers for letting me have a 20-min slot. 💘
Met tons of great people, and I have proudly lost my "conference speaker virginity" now 👀 Excited to share this talk once the VOD drops!
Huge thanks to the Demuxed organizers for letting me have a 20-min slot. 💘
Had a blast at Demuxed day 1 yesterday! This is me (second on the left) with the Remotion folks and Konsti from Diffusion Studio!!
October 30, 2025 at 9:11 AM
Had a blast at Demuxed day 1 yesterday! This is me (second on the left) with the Remotion folks and Konsti from Diffusion Studio!!
Theo using FFmpeg to build SoraMarker is akin to using create-react-app for a new project in 2025. On the web, it's slow, unnecessarily bulky, and makes very little use of the platform.
I rebuilt it using Mediabunny, and it runs 5x as fast while using 0.8% the bundle size⚡️
I rebuilt it using Mediabunny, and it runs 5x as fast while using 0.8% the bundle size⚡️
October 17, 2025 at 3:39 PM
Theo using FFmpeg to build SoraMarker is akin to using create-react-app for a new project in 2025. On the web, it's slow, unnecessarily bulky, and makes very little use of the platform.
I rebuilt it using Mediabunny, and it runs 5x as fast while using 0.8% the bundle size⚡️
I rebuilt it using Mediabunny, and it runs 5x as fast while using 0.8% the bundle size⚡️
Mediabunny v1.24.0 ships with a highly-requested feature: custom video & audio transformations in the Conversion API! 🚀
This means you can now use Mediabunny to add watermarks and overlays, perform color correction, or apply any other video transformation; right in the browser.
This means you can now use Mediabunny to add watermarks and overlays, perform color correction, or apply any other video transformation; right in the browser.
October 17, 2025 at 1:46 PM
Mediabunny v1.24.0 ships with a highly-requested feature: custom video & audio transformations in the Conversion API! 🚀
This means you can now use Mediabunny to add watermarks and overlays, perform color correction, or apply any other video transformation; right in the browser.
This means you can now use Mediabunny to add watermarks and overlays, perform color correction, or apply any other video transformation; right in the browser.
Mediabunny v1.21.0 ships with transparency support in the Conversion API, hugely improved error messages if conversions aren't possible (due to missing codec support), and a couple of fixes as usual! 🚀
September 26, 2025 at 2:44 PM
Mediabunny v1.21.0 ships with transparency support in the Conversion API, hugely improved error messages if conversions aren't possible (due to missing codec support), and a couple of fixes as usual! 🚀
Mediabunny v1.20.0 is another big milestone for the project: it can now read & write transparent videos! 🚀 All directly in the browser, super fast, no server needed.
This was more challenging that it seems on the surface (took over 1000 LOC). A blog post about this will follow!
This was more challenging that it seems on the surface (took over 1000 LOC). A blog post about this will follow!
September 25, 2025 at 1:28 PM
Mediabunny v1.20.0 is another big milestone for the project: it can now read & write transparent videos! 🚀 All directly in the browser, super fast, no server needed.
This was more challenging that it seems on the surface (took over 1000 LOC). A blog post about this will follow!
This was more challenging that it seems on the surface (took over 1000 LOC). A blog post about this will follow!
Mediabunny v1.19.0 comes with ID3 metadata support in .wav files, better support for alternate environments like React Native, and fancy new Symbol.dispose functionality for Inputs! 🚀
Always cool to work with cutting-edge JS features.
Always cool to work with cutting-edge JS features.
September 23, 2025 at 7:05 AM
Mediabunny v1.19.0 comes with ID3 metadata support in .wav files, better support for alternate environments like React Native, and fancy new Symbol.dispose functionality for Inputs! 🚀
Always cool to work with cutting-edge JS features.
Always cool to work with cutting-edge JS features.
You guys are insane. 2.5 months after its release, Mediabunny has already hit more than 100k monthly downloads. Thank you! 🐰📈
September 19, 2025 at 7:44 AM
You guys are insane. 2.5 months after its release, Mediabunny has already hit more than 100k monthly downloads. Thank you! 🐰📈
Another big one: Mediabunny v1.17.0 now ships with full read & write support for .flac files! 🚀
Huge thanks to Jonny Burger for taking care of this one! ▶️
Huge thanks to Jonny Burger for taking care of this one! ▶️
September 18, 2025 at 9:52 PM
Another big one: Mediabunny v1.17.0 now ships with full read & write support for .flac files! 🚀
Huge thanks to Jonny Burger for taking care of this one! ▶️
Huge thanks to Jonny Burger for taking care of this one! ▶️
I feel like most developers nowadays don't even notice complexity.
I was sent a repro for a Mediabunny bug in the form of a Next.js app. What could've been a 50-line HTML file is instead a 0.5 GB (!!) behemoth.
It's wild to me that this doesn't make people shudder.
I was sent a repro for a Mediabunny bug in the form of a Next.js app. What could've been a 50-line HTML file is instead a 0.5 GB (!!) behemoth.
It's wild to me that this doesn't make people shudder.
September 16, 2025 at 2:21 PM
I feel like most developers nowadays don't even notice complexity.
I was sent a repro for a Mediabunny bug in the form of a Next.js app. What could've been a 50-line HTML file is instead a 0.5 GB (!!) behemoth.
It's wild to me that this doesn't make people shudder.
I was sent a repro for a Mediabunny bug in the form of a Next.js app. What could've been a 50-line HTML file is instead a 0.5 GB (!!) behemoth.
It's wild to me that this doesn't make people shudder.
Mediabunny v1.15.0 ships with cropping functionality in the Conversion API! 🚀
You can now convert videos and only keep a specific rectangular region of the original input video. It also works nicely in conjunction with the rotation and resizing options.
You can now convert videos and only keep a specific rectangular region of the original input video. It also works nicely in conjunction with the rotation and resizing options.
September 12, 2025 at 3:06 PM
Mediabunny v1.15.0 ships with cropping functionality in the Conversion API! 🚀
You can now convert videos and only keep a specific rectangular region of the original input video. It also works nicely in conjunction with the rotation and resizing options.
You can now convert videos and only keep a specific rectangular region of the original input video. It also works nicely in conjunction with the rotation and resizing options.
You can play with Mediabunny's new metadata tag extraction feature in the metadata extraction example on the website. Here's it extracting title, artist, cover art and more from a song!
September 8, 2025 at 9:22 AM
You can play with Mediabunny's new metadata tag extraction feature in the metadata extraction example on the website. Here's it extracting title, artist, cover art and more from a song!
My lovely girlfriend takes me out for all-you-can-eat sushi for every GitHub star milestone of Mediabunny.
This one was for 1k stars. She said the next one happens at 10k. Wonder when that will be 🤔
This one was for 1k stars. She said the next one happens at 10k. Wonder when that will be 🤔
September 7, 2025 at 1:49 PM
My lovely girlfriend takes me out for all-you-can-eat sushi for every GitHub star milestone of Mediabunny.
This one was for 1k stars. She said the next one happens at 10k. Wonder when that will be 🤔
This one was for 1k stars. She said the next one happens at 10k. Wonder when that will be 🤔
Mediabunny v1.14.0 is out and it's a huge milestone for the project! 🚀
Mediabunny can now read and write metadata tags (like title, artist, album, cover art) for all formats, including ID3v1/v2, iTunes, QuickTime, Matroska, Vorbis, and RIFF-style metadata.
Mediabunny can now read and write metadata tags (like title, artist, album, cover art) for all formats, including ID3v1/v2, iTunes, QuickTime, Matroska, Vorbis, and RIFF-style metadata.
September 5, 2025 at 10:03 PM
Mediabunny v1.14.0 is out and it's a huge milestone for the project! 🚀
Mediabunny can now read and write metadata tags (like title, artist, album, cover art) for all formats, including ID3v1/v2, iTunes, QuickTime, Matroska, Vorbis, and RIFF-style metadata.
Mediabunny can now read and write metadata tags (like title, artist, album, cover art) for all formats, including ID3v1/v2, iTunes, QuickTime, Matroska, Vorbis, and RIFF-style metadata.
Mediabunny's website now has API docs! 🚀 Complementing the guide, these additional 148 pages document every class, method, property and type in Mediabunny's public API.
They're pretty sexy, so, go check them out! mediabunny.dev/api/
They're pretty sexy, so, go check them out! mediabunny.dev/api/
September 3, 2025 at 4:23 PM
Mediabunny's website now has API docs! 🚀 Complementing the guide, these additional 148 pages document every class, method, property and type in Mediabunny's public API.
They're pretty sexy, so, go check them out! mediabunny.dev/api/
They're pretty sexy, so, go check them out! mediabunny.dev/api/
Who even needs <video>? I certainly don't 👀
August 30, 2025 at 4:12 PM
Who even needs <video>? I certainly don't 👀
The upcoming version of Mediabunny will ship with a built-in way to read directly from the file system, for server-side use. Works in Node, Bun and Deno!
(interestingly, Deno comes out on top performance-wise)
(interestingly, Deno comes out on top performance-wise)
August 30, 2025 at 2:16 PM
The upcoming version of Mediabunny will ship with a built-in way to read directly from the file system, for server-side use. Works in Node, Bun and Deno!
(interestingly, Deno comes out on top performance-wise)
(interestingly, Deno comes out on top performance-wise)
Mediabunny has now already overtaken mp4-muxer, my previously most-starred repo which I released only 2 years ago.
Thank so you much for all the support and kind words, it has really meant a lot. Super excited for where this goes over the next year! 🚀
Thank so you much for all the support and kind words, it has really meant a lot. Super excited for where this goes over the next year! 🚀
August 24, 2025 at 3:01 PM
Mediabunny has now already overtaken mp4-muxer, my previously most-starred repo which I released only 2 years ago.
Thank so you much for all the support and kind words, it has really meant a lot. Super excited for where this goes over the next year! 🚀
Thank so you much for all the support and kind words, it has really meant a lot. Super excited for where this goes over the next year! 🚀
Mediabunny can generate videos at ludicrous speeds. This 720p video is rendered & encoded at around 500 FPS, fully client-side:
August 22, 2025 at 3:35 PM
Mediabunny can generate videos at ludicrous speeds. This 720p video is rendered & encoded at around 500 FPS, fully client-side:
Mediabunny v1.9.0 adds support for reading & writing ADTS (.aac) files! 🚀 It also fixes some nasty race conditions in the MP3 demuxer.
August 18, 2025 at 9:08 PM
Mediabunny v1.9.0 adds support for reading & writing ADTS (.aac) files! 🚀 It also fixes some nasty race conditions in the MP3 demuxer.
I've heard Big Buck Bunny in the most cursed ways due to audio rendering bugs. This is the first bug that acutally sounds quite cool?? Besides the bird getting smacked at the end there
August 15, 2025 at 12:59 PM
I've heard Big Buck Bunny in the most cursed ways due to audio rendering bugs. This is the first bug that acutally sounds quite cool?? Besides the bird getting smacked at the end there
Vectorized interleaved to planar conversion in Zig. Runs like 8x faster than the scalar version!
This was super fun to write! Comptime computation of the shuffle mask, a bunch of inline switch and for - Zig makes me feel like I've collected all Infinity Stones of programming.
This was super fun to write! Comptime computation of the shuffle mask, a bunch of inline switch and for - Zig makes me feel like I've collected all Infinity Stones of programming.
August 14, 2025 at 9:54 AM
Vectorized interleaved to planar conversion in Zig. Runs like 8x faster than the scalar version!
This was super fun to write! Comptime computation of the shuffle mask, a bunch of inline switch and for - Zig makes me feel like I've collected all Infinity Stones of programming.
This was super fun to write! Comptime computation of the shuffle mask, a bunch of inline switch and for - Zig makes me feel like I've collected all Infinity Stones of programming.
Mediabunny v1.7.0 adds track-specific options to the Conversion API for more control over multi-track files. It also adds streamable (append-only) MP3 writing, better MP3 reading and a couple of fixes. Let's get it 🚀🚀🚀
August 11, 2025 at 1:08 AM
Mediabunny v1.7.0 adds track-specific options to the Conversion API for more control over multi-track files. It also adds streamable (append-only) MP3 writing, better MP3 reading and a couple of fixes. Let's get it 🚀🚀🚀
Mom: We have TypeScript at home
August 10, 2025 at 9:12 PM
Mom: We have TypeScript at home