Aqui: github.com/Vanilagy/med...
Posts by Vanilagy
Today I wrote two highly in-depth guides on reading and writing HLS with Mediabunny. It was super fun to write these!!
These will be part of the official docs soon, but in the meantime, you can find these in the hls branch if you're interested!
When they said "Test edge cases" is this what they meant?
Here's an example of how the upcoming Mediabunny version can *stream-upload* HLS files to a server WHILE the client is generating them. O(1) client-side memory usage.
Still think this is one of the coolest things you can do with Mediabunny.
Huge news!! π Full HLS support in Mediabunny is done and is now in beta. This has been in the works for about three months now. Thanks to all of the sponsors that made this possible.
Check out the release here:
github.com/Vanilagy/med...
π Mediabunny has hit 2M monthly downloads!! Next goal: 1M weekly.
API design is so freaking hard.
Over the course of adding HLS support, I've redone the new API about 5 or 6 times by now. Sometimes you literally first need to see how Variant A feels before you know Variant B was better all along.
And knowing you can't change it after release!
You follow the news.
I follow the news using my own media player.
We are not the same
Thank you!!
Speeding isn't even very effective at making the trip shorter.
Literally the first thought upon waking up this morning: "I woke up!"
The long road to full HLS read/write support in Mediabunny is finally coming to an end. Last step for me is the documentation stage; write insightful docs for new symbol exported by the lib.
Always takes a while to do, but it's also quite fun!
I also use it most for euclidian distance. Mediabunny doesn't have much of this, no, but my history of coding is much broader than media processing :D
I love when you can use this strategy to completely avoid square roots. Like, you wanna check if i >= sqrt(n), you can just check if i*i >= n. So clean.
I mostly maintain a "all bugs have infinite priority" policy for Mediabunny, which definitely feels like a double-edged sword to me. Yes, it means that the library is quite stable, but it can be annoying as it can rip me out of feature development.
Thanks to @techconnectify.bsky.social I now have unwavering confidence that my dishwasher will be able to clean this without a problem
This is a good example of why indirection leads to worse performance; both of these functions do the exact same loop, but this fact is hidden by the function call indirection. Had these been inlined, the repeated logic would've been immediately obvious.
Never an issue when I use it. I commit that shit myself!
N=2 technically!! I wonder when the crossover point will happen; when your 80% will be worth more than her 100%.
Thanks Piet!!
Tried this out on a work project today instead of ffmpeg-wasm and the speed improvement was insane.
If you need to convert/splice video on the web, donβt sleep on this library!
Here's Mediabunny capturing 5 seconds of live TV and transmuxing it into an MP4
Total bundle size to do this is around ~50 kB
Mediabunny on the left playing German live TV (with WebCodecs) compared to the official stream on the right. I'm even ahead by a few seconds!!
The coolest thing is that I didn't even have to change the media player code; it just thinks it's playing a normal video file.
The upcoming Mediabunny version can play live streams!! Here I'm watching German live TV.
It's good that GPT 5.4 is so bad that it doesn't even hurt cancelling the subscription
The clanker is now a Mediabunny "contributor"π©
Any project I do eventually needs this utility function. So stupid that you need to hack it with a Worker.
Today I learned you can do this
Mediabunny v1.37.0 can now encode FLAC directly in your browser! π Huge for exporting audio losslessly.
Just add this new extension package, 83 kB gzipped.
www.npmjs.com/package/@med...
I've released @mediabunny/aac-encoder, a new extension package that polyfills AAC encoding support for environments that don't have them. Firefox for example! Or anything on the server, like Node or Bun! π
Around ~260 kB gzipped in size.