Hacker News new | past | comments | ask | show | jobs | submit

Professional video editing, right in the browser with WebGPU and WASM

https://tooscut.app/
loading story #47479169
loading story #47477320
I used it to combine the sounds from one video with the imagery of another video. It worked easily enough. It feels really simple to use, there aren't many ways for me to make mistakes. I could easily switch to using this tool. Fyi I used Brave Browser without issue.
Amazing! That's really great to hear! Let me know if you ever have any issues or feature requests in the GitHub issues.
loading story #47479704
I've been using kdenlive and it is functional as an open source video editor. I don't know if kdenlive supports shared assets and projects, but this feels like something this project could offer and exceed expectations. Is that on the roadmap?
Yes, that was part of the thinking behind the licensing choice. The goal was to keep the engine itself open source, while creating opportunities to monetize adjacent offerings like cloud file management, sharing, AI editing, and other higher-level capabilities.
The skepticism around browser-based creative tools often ignores the massive shift that Figma brought to UI/UX design. While 8K multi-track editing might remain a native domain for a while, the vast majority of video content created today is for social media, where accessibility and collaboration speed are more valuable than maximum throughput. The fact that this leverages WebGPU and WASM shows we're finally moving past the "JavaScript is too slow" era into an "architecture matters" era for the web.
loading story #47476288
Thats great, I really enjoy when someone try to shake the *dobe's reign
loading story #47477105
loading story #47478143
Free and open source NLE video editor powered by WGPU, WASM, WebGPU, Rust, and Tanstack Start
This is absolutely not an open source license https://polyformproject.org/licenses/noncommercial/1.0.0/

It violates point 1,5 and 6 of the open source definition https://opensource.org/osd

For nitpicking like that let me do some counter-nitpicking: please write 'Open Source (OSI)', 'Open Source (TM)' or at least capitalize it as 'Open Source' so that people know where you're coming from. The commonly used 'open source' just means 'the source is in the open'. Let's not allow organizations to hijack commonly used words.
It’s not nitpicking, the term “open source” is not usually used for this kind of thing, it would be called “shared source”

I did a poll on this on a Discord server a while ago

What does open source mean

You can view the source code: 0 votes

View + use + redistribute for any purpose: 14 votes

So no, your version of it is not the common usage

You are absolutely right. I just changed the license to ELv2.
That isn't open source either.

As far as I know the most restrictive open source license is the AGPL, with a CLA that allows for commercial dual licensing.

ELv2 is not open source either.
It is not OSI® Open Source Definition™ approved, but it is open source for the common use of the term.
The accepted term is "source available".

Restrictions on usage type are not commonly accepted as open source by any community that I'm aware of.

I don't say it to be pedantic about the term, but there are hard restrictions on usage of this tool in commercial environments.. So it's important people are aware and don't just assume it's an open source.
if you want to call it open source, why not consider AGPL?
I genuinely recommend putting something like AGPL if you wish to go towards Open Source route.
If you want free, Resolve will run circles around whatever open source thing you can find. No need for WGPU, it just runs the GPU.

Sadly, things like this just put a bad taste in my mouth about the whole concept of running code in a browser like this. It's buggy as hell. It doesn't run in all browsers. And I really have to ask why we think the browser is the place to run this. We've moved from Java and now to WASM in a browser, but only some browsers.

Different use case. "Runs everywhere instantly" beats "installs + config" for a lot of workflows.
In my experience getting it to run on my Intel gpu on Linux was not trivial. And when I did I discovered it doesn't support standard video formats making it a complete non starter.

Kdenlive is much better imho for basic edits

Browser editing makes sense for review links, shared projects, and zero-install onboarding, but if the job is just cutting footage fast on one machine then a desktop app will smoke it and the compatibility mess buys you nothing. The browser sandbox is a decent distribution hack, yet once you stack WebGPU, WASM, codecs, file access, and browser-specific bugs on top of each other, you are rebuilding a worse native stack with extra failure modes and pretending that counts as progress. Resolve exists.
If your baseline is Resolve, sure. But most people aren't cutting Hollywood timelines.
+1 for Davinci Resolve. I used the free version for years (Windows and Mac versions) before finally picking up a copy of Studio which is still very reasonably priced and is a flat fee.
Resolve requiring an account to download is what turned me away when I needed to do a quick edit the other day. Oracle much?
Black Magic gives video editing software that actual professionals use away for free. They sell professional grade equipment that regular consumers can afford. They also offer a ton of training videos teaching you how to edit professionally....for free. A ton of independent filmmakers have started their career using Black Magic software/devices.

They are absolutely not anything like oracle.

Why not just have a throwaway email account for these types of things. Opens up a lot of great software if this is a barrier for you.
I always put asdf@asdf.com and it lets me download it
It doesn't require an account to download.
I stopped trusting resolve after they decided to paywall reactor. Putting a paywall on plugins that users contribute for free is just shitty.
> And I really have to ask why we think the browser is the place to run this.

This is a big barrier if you want cross-compatibility and making Linux usable for everyday people. My whole interface is a terminal and a browser. I could use/pay for something like this in the same way I use figma. I don't need an app and when I open my iPad I can access whatever I was working on.

The browser should have been the place to run all of this from the very start; but Apple/Google decided to create walled gardens for their systems.

I think you selected the wrong license. Your license currently as written actually forbids _using_ the software for a commercial purpose, eg if someone monetizes a video edited using your software, they are in violation of your license, which is not what you want.

Look at something like the Hashicorp BSL [1] for inspiration on crafting a license that forbids specific commercialization of the software itself.

[1] https://www.hashicorp.com/en/bsl

You are right. Thanks for the insights! I just changed the license to ELv2.
Any plugin plans? In case you don't know, there is a standard for it: https://openeffects.org/

Would you like to share your development experience? I suggest creating a CONTRIBUTING.md and enabling discussions if you are open to PRs.

Great question! I actually have built a poc that is not released yet. It's on the roadmap. It requires some tooling for the devs building these plugins like a CLI for building the WASM binaries, bundling, manifests, etc.

The current poc still has significant performance overhead, and that overhead grows as the plugin system becomes more powerful. If plugins are only allowed to apply a WGSL shader, the performance impact is almost negligible. But features that require broader access to timeline data, such as time shifts, speed ramps, or full timeline transformations, become much more expensive and make zero-copy architectures harder to reason about.

{"deleted":true,"id":47472627,"parent":47472553,"time":1774135590,"type":"comment"}
I added CONTRIBUTING.md. I also took a look at OpenFX. My current view is that supporting OFX in the browser would be hard, since the standard and its existing tooling are not designed around wgpu or browser execution. Tooscut would likely need its own plugin model rather than adopting OFX as is.

That said, I would be very interested in hearing your thoughts if you are open to contributing or discussing what a practical plugin system should look like in this environment. Please file a GitHub issue if you can

Really cool! It may not replace a dedicated NLE for professional editors, but I love that it's a fully functional NLE that you could drop into an existing web app that handles video.
Yes, but the goal is to become the photopea of video editing. Something quick that you can launch via web that can support 80% of the day to day use cases.
Good goal, I love photopea for this exact reason. I have no need for photoshop anymore (which I had purely for quick edits) I would love the equivalent for video
Nice. It feels like mobile is the natural place for it—how feasible is that today?
How does this compare to https://omniclip.app/ ?
I had not used either before reading this thread, but omniclip has an odd interface, it's very unfamiliar to me compared to a standard NLE, and the loading time was quite long (maybe just HN load?).
Seems interesting. I had not seen Omniclip specifically. But like most web-based NLEs I've seen, its UX feels unfamiliar. My goal was to build a desktop-grade professional editor that feels familiar to editors like Premiere Pro, DaVinci Resolve, and Final Cut Pro, rather than reinventing the editing experience.
Tried it in Firefox and it was working for a few minutes and then managed to crash the whole browser. Definitely a firefox and/or gpu driver bug though. I can't wait for WebGPU browser/platform support to get a bit more mature, because it's awesome (although the security implications do make me nervous).
Yep. Unfortunately, Firefox has a poor WebGPU support atm.
What would be really awesome is if it could use the server its hosted on's GPUs. I have a multi GPU server and it would be great to be able to edit videos from my table or couch without spinning up my laptop so hard.
loading story #47478720
I like the promise, but the hill is very steep and I don't see much on delivery here. Very hopeful, but I would rather see this kind of thing launch significantly further than where it is at. This appears to be a good base, now let's see it again when there is Text support, animations, transitions, filters, etc.
We actually already support text, transitions, and animation of basic properties as well as some filters. I would be interested to hear more about your use case and which capabilities you felt were missing from what you saw.
This will only handle toy videos, given the browser limitations in sandboxing and 3D rendering.

Not really sure why someone would use this instead of a proper native application.

The goal here is not to replace Premiere Pro across every professional workflow. But it is also not intended to be a toy editor.

Modern browser and GPU capabilities are already sufficient for a large category of practical video editing tasks. We are not targeting blockbuster scale 8K movies at least for now, but we are targeting real jobs people do every day across social, commercial, and non-commercial video production.

loading story #47475266
loading story #47475271
Same argument was made about Figma vs native tools, didn't age well.
loading story #47476493
loading story #47475395
loading story #47475812
Photopea wasn't "Photoshop replacement" either, still massively useful.
loading story #47475721
loading story #47476490
great project but non commercial license, makes me not to go near it.
I see. I haven't decided on the commercial license yet. This might be temporary. I started this as part of another for-profit side project (for dubbing videos with AI). I may change the license later as the quote unquote "copyright owner". If I see the open-source community is active and finds it useful, I'd switch to a free-er license. Things are not super clear yet to me re what can be done with a web based video editor.
I personally don't see a problem with having the code be for non-commercial use only, but your hosted instance probably should allow commercial use. Otherwise I don't see how you're going to become the Photopea of video, which you stated as a goal.
Thanks for the feedback! I honestly had not read the license thoroughly. I just changed it to ELv2.
+1 for seeking clarity on commercial use.

I want to support some colleagues with automating some of the setup of routine video editing. Can't consider this impressive work without that clarity!

Thanks so much for the feedback. I just changed the license to ELv2.
Nice tool, but not a very useful license.. I would love to integrate something like this as an additive to users but if I'm not mistaken, that's completely off limits for this license type ?
Could you please tell me more about your use case. I've changed the license once today. I'm open to changing it again.
loading story #47476091
The easiest way to on-ramp people to try it out for the first time is to write a claude code skill. This is what remotion did and I think you should do the same.
loading story #47478852
This is very cool!! but a test video I did and I played it back on Safari, the video playback was very, very choppy (m2 air). Is this a known issue?
Ah I believe I should have clarified browser support. Safari is not very well supported. Have you tried chrome?
It's not supported in Chrome either.
So Safari doesn't work, Firefox doesn't work. It's professional video editing, right in the ~~browser~~ Chrome window.
What is the problem with targeting the most prevalent rendering engine?
You seem pretty young, honestly. You likely don't remember a time when websites displayed a message "Only works in IE", or "Only works in Netscape". It was not a good time for the web.
very cool. I was trying to implement a MP4 encoder in webGPU recently by porting sections of ffmpeg (NOT EASY).

it's for this:

https://ubernaut.github.io/recordMyScreen/

which uses a the wasm build of ffmpeg.

This looks cool! I'll check it out later from my computer, I'm guessing it's not so easy to use on mobile.
Had a look. "Professional" is doing a lot of work here.
If people can ship paid work with it, it's professional enough.
Great project. The last time someone did this idea well they got acquired by Microsoft. Clipchamp has since been enshittified, making them ripe for disruption. The wheel continues to turn…
looking good! getting red/inverted video flashes on Firefox, M4 Pro. could be an issue with canvas anti-fingerprinting though, not sure its root cause
best for every day use! i tried it and it was fun!
Great project!

Is there similar project for image editing?

Just basic features:

- cropping

- rotating

- brightness & contrast

photopea?
Yeah, Photopea isn't exactly basic but it's great. If this became the Photopea equivalent for video that would be awesome.
Thank you. Just tried it.

UI is rather confusing.

It's a photoshop clone but if you have not used that before I can see how it might be a lot!
For WASM, there are interpreters written in Go:

https://shithub.us/slashscreen/ricket/HEAD/info.html

I'd love to have nethack/slashem, the terminal version, ported to it. No, not HTML+JS, VT220 output with colour at least, usable in any VT emulator with Ricket.

That way I would play Slashem everywhere without even needing to have an ANSI C+POSIX compiler with tons of Unix dependencies. 9front has some compat but the game looks like a maze of ifdefs for different Unix systems. GLHack can be compiled with NPE (a small POSIX+SDL2/3 wrapper) and TinyGL but for these games I'm faster with the terminal output.

[flagged]
Good point. I agree that could be a very interesting direction.

I have used Remotion for years because the DX is great, but the performance and overhead is significant. Even something like attaching subtitles to a video can take around 10x more time and resources than bare FFmpeg because of the chromium layer.

A headless version of this wgpu renderer with a clean API and eventually a nicer DX layer such as a react renderer could be a strong replacement for that kind of workflow.

>render video assets without needing FFmpeg on the server.

Help me understand: able to do video with less compute? Or offload compute to client browsers?

[flagged]
Brand new accounts with such a positive comments always make me think someone's mom just signed up to make the comment.
Is it feature-parity with Adobe Premiere and Final Cut Pro? If not, then it's not professional.
If you make money at it, you're professional. People are making so much money being content creators and don't give a damn about your definition of needing Pr or FCP to be professional.

It doesn't take much functionality to make jump cut videos and silly zooms an other non-traditional editorial styles that are the new normal for content.

However, as a professional editor, I laugh at these attempts using professional in the description when you're telling me to edit in a browser. <face_palm> It's great that they want to create a new thing and try some experimental stuff, but it's not going any where near my use of professional. Also, the landing page is dry as can be and not really informative. It's the visual equivalent of bullet points. What codecs does it support? What level of audio features are available. The lame video is just some panning shot. There's no editorial features being demoed at all. Does the timeline behave like FCP elastic or a more traditional timeline? What professional tools are available? Hmm, no data available, so I guess we'll have to just play with it. Oops, browser not compatible. Thanks for playing.

That's a weird take. There are plenty of professional use cases like quickly putting together a few short clips for social media shorts or whatever, that does not require anywhere near feature-parity with the big NLEs.
"Professional" = people getting paid, not feature checklists.
loading story #47477198