Professional video editing, right in the browser with WebGPU and WASM
345 points by mohebifar 24 hours ago | 124 comments

ashish01 5 hours ago
> Browser not fully supported

> This editor relies on WebGPU for rendering, which currently works best in Chrome or other Chromium-based browsers. You may experience issues in your current browser.

(reminds of works in IE6)

reply
FormularSumo 2 hours ago
https://caniuse.com/webgpu

Missing support in Firefox on Linux and Android, otherwise seems to be pretty well supported in recent browsers.

reply
blendaddict 8 hours ago
I tried taking a video and underlaying music from an mp3 i have. This is not possible. I can not create a second audio track only video tracks. When i create more video tracks i can't scroll down to the audio track. If I take the audio from the music and try to drag it over the audio of the video it deletes the video. One of the most trivial use cases of video editing is already not covered.
reply
skyberrys 8 hours ago
It is possible with two videos. When I did this, I dragged the two video files into the timeline (one a LED globe with background noise, second video a fireplace with fire crackling sounds), clicked the eye to hide the fire in one video, clicked the mute to silence the LED globe noise, and then copy pasted the sounds from the fire video a few times over. I think I know what you mean by the scrolling, I hovered over the lower bar top and made the track bars window taller instead so I didn't need to scroll. I didn't try with an mp3.
reply
algolint 11 hours ago
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.
reply
m-schuetz 10 hours ago
I actually prefer browser-based tools. Havent installed hex editors since hexedit for web is available; Photopea covers my occasional photo/picture editing needs, google sheets/slides/docs is my main office suit, etc. It's great to not have to install things.
reply
skyberrys 17 hours ago
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.
reply
mohebifar 16 hours ago
Amazing! That's really great to hear! Let me know if you ever have any issues or feature requests in the GitHub issues.
reply
xrd 23 hours ago
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?
reply
mohebifar 22 hours ago
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.
reply
jqbd 4 hours ago
I'd love some developer love for Blender's editor instead
reply
msalihb 10 hours ago
Thats great, I really enjoy when someone try to shake the *dobe's reign
reply
bilekas 7 hours ago
This is a far cry from Adobe's suite. It's like a version of MsPaint Vs Photoshop.
reply
mohebifar 24 hours ago
Free and open source NLE video editor powered by WGPU, WASM, WebGPU, Rust, and Tanstack Start
reply
RobotToaster 22 hours ago
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

reply
flohofwoe 13 hours ago
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.
reply
circuit10 9 hours ago
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

reply
flohofwoe 8 hours ago
Was that the OSI discord server? ;) 14 votes in a specific bubble isn't all that representative either.
reply
circuit10 2 hours ago
It's calculator programming related so I'd say not biased in any particular way other than having a lot of hobbyist techy people
reply
mohebifar 20 hours ago
You are absolutely right. I just changed the license to ELv2.
reply
RobotToaster 13 hours ago
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.

reply
bilekas 17 hours ago
ELv2 is not open source either.
reply
guelo 16 hours ago
It is not OSI® Open Source Definition™ approved, but it is open source for the common use of the term.
reply
TimeBearingDown 16 hours ago
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.

reply
guelo 3 hours ago
That is according to OSI. OSI does not get to dictate the english language.
reply
bilekas 11 hours ago
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.
reply
guelo 3 hours ago
Right. OSI tried to use their authority to make it seem like AWS's strip mining of the open source ecosystem was the moral high ground. HN has a lot of wishful commercial operators who side with AWS. So they use "open source" lower case as a weapon to harass the open source developers. Personally I tend to side with the developers who try to figure out a way to keep their projects viable.
reply
throawayonthe 13 hours ago
if you want to call it open source, why not consider AGPL?
reply
Imustaskforhelp 12 hours ago
I genuinely recommend putting something like AGPL if you wish to go towards Open Source route.
reply
maxloh 20 hours ago
Nice change!
reply
dylan604 19 hours ago
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.

reply
mashreghi 13 hours ago
Different use case. "Runs everywhere instantly" beats "installs + config" for a lot of workflows.
reply
tim-projects 17 hours ago
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

reply
vunderba 19 hours ago
+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.
reply
hrmtst93837 13 hours ago
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.
reply
mashreghi 13 hours ago
If your baseline is Resolve, sure. But most people aren't cutting Hollywood timelines.
reply
Fabricio20 19 hours ago
Resolve requiring an account to download is what turned me away when I needed to do a quick edit the other day. Oracle much?
reply
windowsrookie 18 hours ago
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.

reply
nullpoint420 16 hours ago
I always put asdf@asdf.com and it lets me download it
reply
motoxpro 19 hours ago
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.
reply
ErroneousBosh 11 hours ago
It doesn't require an account to download.
reply
RobotToaster 13 hours ago
I stopped trusting resolve after they decided to paywall reactor. Putting a paywall on plugins that users contribute for free is just shitty.
reply
csomar 18 hours ago
> 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.

reply
empressplay 22 hours ago
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

reply
mohebifar 20 hours ago
You are right. Thanks for the insights! I just changed the license to ELv2.
reply
esafak 22 hours ago
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.

reply
mohebifar 22 hours ago
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.

reply
mohebifar 15 hours ago
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

reply
esafak 8 hours ago
That may be. I would study the OpenFX spec (https://github.com/AcademySoftwareFoundation/openfx) to draft your own, then invite members of their community to critique it: https://openeffects.org/#get-involved
reply
derodero24 8 hours ago
I do the same thing — Rust core compiled to both native (napi-rs) and WASM from a single codebase, different domain though. The tooling has gotten really solid for this. Curious how the perf splits between WASM compute and WebGPU for the actual video processing — in my experience the WASM overhead is small for pure computation but I/O patterns change things a lot.
reply
blendaddict 8 hours ago
please post link, this is something I need
reply
nextaccountic 7 hours ago
> napi-rs

why not tauri?

reply
bensyverson 23 hours ago
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.
reply
mohebifar 23 hours ago
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.
reply
jofzar 12 hours ago
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
reply
bensyverson 22 hours ago
Nice. It feels like mobile is the natural place for it—how feasible is that today?
reply
xnx 21 hours ago
How does this compare to https://omniclip.app/ ?
reply
mohebifar 21 hours ago
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.
reply
Saris 10 hours ago
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?).
reply
Retr0id 22 hours ago
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).
reply
mohebifar 20 hours ago
Yep. Unfortunately, Firefox has a poor WebGPU support atm.
reply
sails 7 hours ago
This is good! Switching from the various terrible online tools I cobble together. (Descript, Riverside, etc etc)

Request for transcription and transcription editing

reply
skiing_crawling 20 hours ago
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.
reply
TechSquidTV 20 hours ago
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.
reply
mohebifar 20 hours ago
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.
reply
Sportinger 2 hours ago
hey hi.

i did the same masterselects.com

reply
Jayakumark 23 hours ago
great project but non commercial license, makes me not to go near it.
reply
mohebifar 22 hours ago
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.
reply
tredre3 22 hours ago
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.
reply
mohebifar 20 hours ago
Thanks for the feedback! I honestly had not read the license thoroughly. I just changed it to ELv2.
reply
cpb 22 hours ago
+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!

reply
mohebifar 20 hours ago
Thanks so much for the feedback. I just changed the license to ELv2.
reply
pjmlp 15 hours ago
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.

reply
mohebifar 15 hours ago
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.

reply
pjmlp 14 hours ago
Except WebGPU 1.0 isn't modern, it exposes hardware capabilities from a decade ago, better than WebGL 2.0 sure, which is what mobile GPUs were in 2010.

And the sandboxing get up to 4 GB, which in most cases will kill the browser depending on how many tabs are open.

reply
mashreghi 14 hours ago
Most real-world edits aren't hitting those limits. Constraint ≠ useless, it just defines the target use case.
reply
pjmlp 10 hours ago
Depends on the target audience.
reply
m00dy 14 hours ago
A chrome tab still has 4gb max memory limit right ?
reply
mohebifar 13 hours ago
Much of Tooscut's heavy data lives outside the V8 heap. We use WASM linear memory which is not counted against V8 heap. GPU buffers is in VRAM. Bitmaps are also native allocations.

Also, video files are never fully decoded. We use the browser's native WebCodecs on demand. Only a small buffered window gets decoded and sent to the compositor. So it can even handle long 4K videos.

reply
m00dy 12 hours ago
good info, thanks.
reply
mashreghi 14 hours ago
Sure, and most social/video workflows fit comfortably under that. Not everything is 8K RAW timelines.
reply
mashreghi 14 hours ago
Same argument was made about Figma vs native tools, didn't age well.
reply
smallerize 7 hours ago
Figma made the switch in 2017, and since then, they are still the example that gets brought out because other deployments have been a lot more muted.
reply
pjmlp 10 hours ago
Figma is the exception that confirms the rule, and mostly used by Web designers anyway.
reply
aprilthird2021 14 hours ago
Same argument was also made about progressive web apps vs native apps, and the latter are still going quite strong. Idk
reply
onion2k 12 hours ago
Unreal Engine 5 can run in your browser. What "3D rendering" capability is missing for video work?
reply
pjmlp 10 hours ago
Unreal Engine 5 can limp on my browser, and usually most demos end up crashing it, not really a good example.

What is the most successful game on the browser, done with Unreal 5 that can compare to Flash 3D games, other than the citadel demo done with Unreal 3, and with Infinity Blade graphics as baseline?

Exactly, crickets.

reply
mashreghi 14 hours ago
Photopea wasn't "Photoshop replacement" either, still massively useful.
reply
jofzar 12 hours ago
Imo photopea is a Photoshop replacement, it's just not a professional Photoshop replacement.

It's for everyone who had a pirated version of cs3 on their computer for basic edits.

reply
pjmlp 10 hours ago
Never heard of it.
reply
bilekas 18 hours ago
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 ?
reply
mohebifar 14 hours ago
Could you please tell me more about your use case. I've changed the license once today. I'm open to changing it again.
reply
bilekas 11 hours ago
So for example, we offer a Digital Assets Management system, we off free plan right up to enterprise plans. If I wanted to enhance the users experience by having a tool *your tool( loaded for them to make quick basic modifications to their video media in browser that would not be possible.

The enhancement is not core to the product and available to free and paid users, but because its a commecial product your ELv2 license does not support it. As I understand, and its limited, the ELv2 is best suited for tools that are source available but only usedage in backend tools / single developer experience.

In your case that may be the case, so it depends on your desired direction, if you want media creators to be able to use their tool individually then sure, your license is fine.

reply
wwdx 9 hours ago
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.
reply
thefourthchime 23 hours ago
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?
reply
mohebifar 23 hours ago
Ah I believe I should have clarified browser support. Safari is not very well supported. Have you tried chrome?
reply
ErroneousBosh 11 hours ago
It's not supported in Chrome either.
reply
stefan_ 20 hours ago
So Safari doesn't work, Firefox doesn't work. It's professional video editing, right in the ~~browser~~ Chrome window.
reply
ukuina 20 hours ago
What is the problem with targeting the most prevalent rendering engine?
reply
leptons 17 hours ago
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.
reply
gnarbarian 19 hours ago
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.

reply
rikroots 8 hours ago
My tool uses the browser's built in encoders (which vary by browser, but whatever). I did use wasm though, for the MediaPipe background removal stuff.

https://kaliedarik.github.io/sc-screen-recorder/

reply
skyberrys 22 hours ago
This looks cool! I'll check it out later from my computer, I'm guessing it's not so easy to use on mobile.
reply
durakot 18 hours ago
Had a look. "Professional" is doing a lot of work here.
reply
mashreghi 14 hours ago
If people can ship paid work with it, it's professional enough.
reply
Jaxkr 23 hours ago
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…
reply
beepbooptheory 6 hours ago
To maybe save people some time, repo shows this has ~25 commits and was started in January.
reply
bstsb 22 hours ago
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
reply
evegalactica 13 hours ago
best for every day use! i tried it and it was fun!
reply
SlavikCA 23 hours ago
Great project!

Is there similar project for image editing?

Just basic features:

- cropping

- rotating

- brightness & contrast

reply
fragmede 23 hours ago
photopea?
reply
modeless 22 hours ago
Yeah, Photopea isn't exactly basic but it's great. If this became the Photopea equivalent for video that would be awesome.
reply
SlavikCA 21 hours ago
Thank you. Just tried it.

UI is rather confusing.

reply
Saris 10 hours ago
It's a photoshop clone but if you have not used that before I can see how it might be a lot!
reply
anthk 11 hours ago
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.

reply
MofuVideo 12 hours ago
[dead]
reply
caijia 19 hours ago
[flagged]
reply
mohebifar 19 hours ago
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.

reply
boppo1 18 hours ago
>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?

reply
caijia 18 hours ago
[flagged]
reply
chloecv 13 hours ago
[dead]
reply
cerrO 20 hours ago
[flagged]
reply
dylan604 19 hours ago
Brand new accounts with such a positive comments always make me think someone's mom just signed up to make the comment.
reply
cerrO 20 hours ago
[flagged]
reply
Richard_Jiang 20 hours ago
[flagged]
reply
baibai008989 20 hours ago
[dead]
reply
devnotes77 21 hours ago
[dead]
reply
leontloveless 18 hours ago
[dead]
reply
bitwize 21 hours ago
Is it feature-parity with Adobe Premiere and Final Cut Pro? If not, then it's not professional.
reply
dylan604 21 hours ago
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.

reply
mashreghi 13 hours ago
"Professional" = people getting paid, not feature checklists.
reply
Saris 10 hours ago
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.
reply
aboardRat4 8 hours ago
I'm baffled each time people re-implement stuff from scratch instead of contributing to existing mature projects.
reply