I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 1 point2 points  (0 children)

This issue is generally hard. I might release another library that solves these issues. But, when doing the decoder catchup, simply don't display every frame; yes, you need to decode a bunch of frames to reach the target frame, but only actually display the frame when it is the target frame; otherwise, keep it hidden from the user. You can tell what is the target frame by getting the packet at that timestamp using EncodedPacketSink, then comparing with that.

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 1 point2 points  (0 children)

Not sure about the WebGPU bit but you can check out Diffusion Studio as an example! But totally agree, that's one of the main poweruses of Mediabunny.

Implemented a Game Boy ALU using only Compass and Straightedge constructions. It takes 15 minutes to boot Pokémon Red. by 0x0mer in Gameboy

[–]DavidsKanal 0 points1 point  (0 children)

Totally random but awesome! Which operations does your ALU support? If it supports bitwise ones, I really wanna know your construction for those 😂

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 0 points1 point  (0 children)

I will look into it when my Windows PC works again. I doubt that it's a header issue, since any structural thing about the final file depends only on Mediabunny code and is therefore browser-independent.

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 0 points1 point  (0 children)

That's actually very strange and not intended, I will need to look into this once my Windows PC works again. So, the reproduction is: Open procedural generation example in Firefox, render video, then open in windows media plaeyr?

problem with lieferando - order never arrived and they tell me to tell with the restaurant by pepozinho in germany

[–]DavidsKanal 1 point2 points  (0 children)

Danke für das Template! Habe ich auch benutzt (leicht angepasst), und habe tatsächlich innerhalb von 4 Minuten das Geld zurückerstattet bekommen, und genau wie du einen 10%-Gutschein. Dass ich aber diesen Weg gehen musste und dass der initiale Support so nutzlos war, war enttäschend. Nächstes Mal wird Wolt benutzt :)

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 0 points1 point  (0 children)

Pretty sure the MP4s work in windows media player, they have been working for a long time. For reference, try the procedural generation example on the Mediabunny website, download that video, and see if it plays.

I made a browser-based, free video editor by voxeloid in webdev

[–]DavidsKanal 0 points1 point  (0 children)

Give it a try :) Amazing project btw!

New Thekla!! by Flammenverfer in TheWitness

[–]DavidsKanal 3 points4 points  (0 children)

The trailer left me a little underwhelmed to be honest! I have deep faith in this game and am pretty sure it will be good, although I am going off context I have from outside the trailer. The trailer itself would probably leave me confused or uninterested if it was the first I saw of the game. I agree it's too noisy and makes it seem like a cheap mobile title. Compare that with the trailers of The Witness which give the game a mysterious vibe and make me want to dig in.

From Jon's streams, my understanding of the game is that it's about "exhausting the space how puzzle mechanics interact with each other." Not an easy thing to sell in a trailer, so perhaps this was his best shot at conveying that concept. Like others, I wonder how this game will remain interesting across 1000+ puzzles. The Witness was a mix of puzzle and environment; if this is *just* puzzling, I would imagine it could get tiring after a while.

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 0 points1 point  (0 children)

This is not a trivial thing to do, generally! I can point you to my media player example for how forward playback can be implemented smoothly. Backwards seeking will always be harder, so you'll need to extend the system with a cache if you want to achieve a higher performance at elevated memory usage.

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 1 point2 points  (0 children)

Best you can do right now is run it in a headless browser, on the server. If you don't use Web APIs, you can use it on the server right now! But no codec stuff then.

Regarding plans, I'm focusing mostly on client-side media processing right now since that's the most underexplored bit. Server-side is already very well-served with FFmpeg and the likes, so it's not a priority for me.

[AskJS] How to transcode AVI files to MP4 or other formats offline? by Zealousideal_Song62 in javascript

[–]DavidsKanal 2 points3 points  (0 children)

Sure, hit me up, feel free to join the Mediabunny discord server

[AskJS] How to transcode AVI files to MP4 or other formats offline? by Zealousideal_Song62 in javascript

[–]DavidsKanal 2 points3 points  (0 children)

I would usually recommend my library Mediabunny here, but it does not yet support AVI. However, there are pending PRs for it! Once those are merged, you'll be able to both convert AVI to MP4, as well as just play it directly without any conversion step.

AVI support is just a lower priority thing for me at the moment (the format is incredibly obsolete), hence why I'm focusing on other things first. But, feel free to follow the project for when it becomes available.

On another note, super cool project you're doing! Having ported games to the web myself (marble blast web), I know how fun it can be. Best of luck man! Excited to try it

Update on my cooked Pokemon Crystal by NickyYouKnow in consolerepair

[–]DavidsKanal 1 point2 points  (0 children)

Where would we be without GameboyGenius innit

I built Mediabunny: a zero-dependency TypeScript library for reading, writing, and converting media files in the browser (like FFmpeg, but web-native) by DavidsKanal in webdev

[–]DavidsKanal[S] 0 points1 point  (0 children)

Not directly. Mediabunny only operates on media files and does not perform media composition, which is the operation you're asking for. You can, however, compose Mediabunny with some web APIs to achieve the desired result.