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

341 points
1/21/1970
a day ago
by mohebifar

Comments


ashish01

> 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)

3 hours ago

FormularSumo

https://caniuse.com/webgpu

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

7 minutes ago

blendaddict

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.

6 hours ago

skyberrys

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.

6 hours ago

skyberrys

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.

15 hours ago

mohebifar

Amazing! That's really great to hear! Let me know if you ever have any issues or feature requests in the GitHub issues.

14 hours ago

algolint

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.

9 hours ago

m-schuetz

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.

8 hours ago

xrd

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?

20 hours ago

mohebifar

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.

20 hours ago

jqbd

I'd love some developer love for Blender's editor instead

2 hours ago

msalihb

Thats great, I really enjoy when someone try to shake the *dobe's reign

7 hours ago

bilekas

This is a far cry from Adobe's suite. It's like a version of MsPaint Vs Photoshop.

5 hours ago

derodero24

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.

6 hours ago

blendaddict

please post link, this is something I need

6 hours ago

nextaccountic

> napi-rs

why not tauri?

5 hours ago

mohebifar

Free and open source NLE video editor powered by WGPU, WASM, WebGPU, Rust, and Tanstack Start

a day ago

RobotToaster

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

20 hours ago

flohofwoe

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.

10 hours ago

circuit10

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

7 hours ago

flohofwoe

Was that the OSI discord server? ;) 14 votes in a specific bubble isn't all that representative either.

6 hours ago

circuit10

It's calculator programming related so I'd say not biased in any particular way other than having a lot of hobbyist techy people

3 minutes ago

mohebifar

You are absolutely right. I just changed the license to ELv2.

18 hours ago

RobotToaster

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.

11 hours ago

bilekas

ELv2 is not open source either.

15 hours ago

guelo

It is not OSI® Open Source Definition™ approved, but it is open source for the common use of the term.

14 hours ago

TimeBearingDown

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.

13 hours ago

guelo

That is according to OSI. OSI does not get to dictate the english language.

an hour ago

bilekas

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.

9 hours ago

guelo

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.

an hour ago

throawayonthe

if you want to call it open source, why not consider AGPL?

10 hours ago

Imustaskforhelp

I genuinely recommend putting something like AGPL if you wish to go towards Open Source route.

10 hours ago

maxloh

Nice change!

17 hours ago

dylan604

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.

17 hours ago

mashreghi

Different use case. "Runs everywhere instantly" beats "installs + config" for a lot of workflows.

11 hours ago

tim-projects

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

15 hours ago

vunderba

+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.

17 hours ago

hrmtst93837

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.

11 hours ago

mashreghi

If your baseline is Resolve, sure. But most people aren't cutting Hollywood timelines.

11 hours ago

Fabricio20

Resolve requiring an account to download is what turned me away when I needed to do a quick edit the other day. Oracle much?

16 hours ago

windowsrookie

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.

15 hours ago

nullpoint420

I always put asdf@asdf.com and it lets me download it

14 hours ago

motoxpro

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.

16 hours ago

ErroneousBosh

It doesn't require an account to download.

9 hours ago

RobotToaster

I stopped trusting resolve after they decided to paywall reactor. Putting a paywall on plugins that users contribute for free is just shitty.

11 hours ago

csomar

> 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.

16 hours ago

empressplay

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

19 hours ago

mohebifar

You are right. Thanks for the insights! I just changed the license to ELv2.

18 hours ago

esafak

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.

20 hours ago

mohebifar

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.

20 hours ago

mohebifar

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

12 hours ago

esafak

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

5 hours ago

sails

This is good! Switching from the various terrible online tools I cobble together. (Descript, Riverside, etc etc)

Request for transcription and transcription editing

4 hours ago

bensyverson

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.

21 hours ago

mohebifar

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.

20 hours ago

jofzar

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

10 hours ago

bensyverson

Nice. It feels like mobile is the natural place for it—how feasible is that today?

20 hours ago

xnx

How does this compare to https://omniclip.app/ ?

19 hours ago

mohebifar

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.

18 hours ago

Saris

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?).

7 hours ago

Retr0id

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).

19 hours ago

mohebifar

Yep. Unfortunately, Firefox has a poor WebGPU support atm.

18 hours ago

skiing_crawling

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.

18 hours ago

ubercow13

3 hours ago

TechSquidTV

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.

18 hours ago

mohebifar

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.

18 hours ago

Jayakumark

great project but non commercial license, makes me not to go near it.

20 hours ago

mohebifar

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.

20 hours ago

tredre3

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.

20 hours ago

mohebifar

Thanks for the feedback! I honestly had not read the license thoroughly. I just changed it to ELv2.

18 hours ago

cpb

+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!

19 hours ago

mohebifar

Thanks so much for the feedback. I just changed the license to ELv2.

18 hours ago

pjmlp

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.

12 hours ago

mohebifar

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.

12 hours ago

pjmlp

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.

12 hours ago

mashreghi

Most real-world edits aren't hitting those limits. Constraint ≠ useless, it just defines the target use case.

11 hours ago

pjmlp

Depends on the target audience.

8 hours ago

m00dy

A chrome tab still has 4gb max memory limit right ?

12 hours ago

mohebifar

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.

11 hours ago

m00dy

good info, thanks.

10 hours ago

mashreghi

Sure, and most social/video workflows fit comfortably under that. Not everything is 8K RAW timelines.

11 hours ago

mashreghi

Same argument was made about Figma vs native tools, didn't age well.

11 hours ago

smallerize

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.

4 hours ago

pjmlp

Figma is the exception that confirms the rule, and mostly used by Web designers anyway.

8 hours ago

aprilthird2021

Same argument was also made about progressive web apps vs native apps, and the latter are still going quite strong. Idk

11 hours ago

onion2k

Unreal Engine 5 can run in your browser. What "3D rendering" capability is missing for video work?

10 hours ago

pjmlp

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.

8 hours ago

mashreghi

Photopea wasn't "Photoshop replacement" either, still massively useful.

11 hours ago

jofzar

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.

10 hours ago

pjmlp

Never heard of it.

8 hours ago

bilekas

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 ?

15 hours ago

mohebifar

Could you please tell me more about your use case. I've changed the license once today. I'm open to changing it again.

11 hours ago

bilekas

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.

9 hours ago

wwdx

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.

6 hours ago

thefourthchime

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?

21 hours ago

mohebifar

Ah I believe I should have clarified browser support. Safari is not very well supported. Have you tried chrome?

21 hours ago

ErroneousBosh

It's not supported in Chrome either.

9 hours ago

stefan_

So Safari doesn't work, Firefox doesn't work. It's professional video editing, right in the ~~browser~~ Chrome window.

18 hours ago

ukuina

What is the problem with targeting the most prevalent rendering engine?

18 hours ago

leptons

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.

15 hours ago

gnarbarian

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.

16 hours ago

rikroots

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/

6 hours ago

beepbooptheory

To maybe save people some time, repo shows this has ~25 commits and was started in January.

3 hours ago

skyberrys

This looks cool! I'll check it out later from my computer, I'm guessing it's not so easy to use on mobile.

20 hours ago

durakot

Had a look. "Professional" is doing a lot of work here.

15 hours ago

mashreghi

If people can ship paid work with it, it's professional enough.

11 hours ago

Jaxkr

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…

20 hours ago

bstsb

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

20 hours ago

evegalactica

best for every day use! i tried it and it was fun!

10 hours ago

SlavikCA

Great project!

Is there similar project for image editing?

Just basic features:

- cropping

- rotating

- brightness & contrast

20 hours ago

fragmede

photopea?

20 hours ago

modeless

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

20 hours ago

SlavikCA

Thank you. Just tried it.

UI is rather confusing.

19 hours ago

Saris

It's a photoshop clone but if you have not used that before I can see how it might be a lot!

7 hours ago

anthk

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.

9 hours ago

bitwize

Is it feature-parity with Adobe Premiere and Final Cut Pro? If not, then it's not professional.

19 hours ago

dylan604

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.

19 hours ago

mashreghi

"Professional" = people getting paid, not feature checklists.

11 hours ago

Saris

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.

7 hours ago

aboardRat4

I'm baffled each time people re-implement stuff from scratch instead of contributing to existing mature projects.

6 hours ago