10 ms·
Professional video editing, right in the browser with WebGPU and WASM
- mohebifar 6mo agoFree and open source NLE video editor powered by WGPU, WASM, WebGPU, Rust, and Tanstack Start
- esafak 6mo agoAny plugin plans? In case you don't know, there is a standard for it: https://openeffects.org/ 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.
- mohebifar 6mo agoGreat 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 6mo ago[deleted]
- mohebifar 6mo agoI 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
- esafak 6mo agoThat may be. I would study the OpenFX spec (https://github.com/AcademySoftwareFoundation/openfx https://github.com/AcademySoftwareFoundation/openfx) to draft your own, then invite members of their community to critique it: https://openeffects.org/#get-involved https://openeffects.org/#get-involved
- RobotToaster 6mo agoThis is absolutely not an open source license https://polyformproject.org/licenses/noncommercial/1.0.0/ https://polyformproject.org/licenses/noncommercial/1.0.0/ It violates point 1,5 and 6 of the open source definition https://opensource.org/osd https://opensource.org/osd
- mohebifar 6mo agoYou are absolutely right. I just changed the license to ELv2.
- RobotToaster 6mo agoThat 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.
- maxloh 6mo agoNice change!
- bilekas 6mo agoELv2 is not open source either.
- guelo 6mo agoIt is not OSI® Open Source Definition™ approved, but it is open source for the common use of the term.
- TimeBearingDown 6mo agoThe accepted term is "source available". Restrictions on usage type are not commonly accepted as open source by any community that I'm aware of.
- guelo 6mo ago
- empressplay 6mo agoI 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 https://www.hashicorp.com/en/bsl
- mohebifar 6mo agoYou are right. Thanks for the insights! I just changed the license to ELv2.
- dylan604 6mo agoIf 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.
- vunderba 6mo 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.
- Fabricio20 6mo agoResolve requiring an account to download is what turned me away when I needed to do a quick edit the other day. Oracle much?
- motoxpro 6mo agoWhy 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.
- windowsrookie 6mo agoBlack 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.
- nullpoint420 6mo agoI always put asdf@asdf.com and it lets me download it
- ErroneousBosh 6mo ago
- thefourthchime 6mo agoThis 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?
- mohebifar 6mo agoAh I believe I should have clarified browser support. Safari is not very well supported. Have you tried chrome?
- stefan_ 6mo agoSo Safari doesn't work, Firefox doesn't work. It's professional video editing, right in the ~~browser~~ Chrome window.
- ErroneousBosh 6mo agoIt's not supported in Chrome either.
- bensyverson 6mo agoReally 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.
- mohebifar 6mo agoYes, 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.
- bensyverson 6mo agoNice. It feels like mobile is the natural place for it—how feasible is that today?
- jofzar 6mo agoGood 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
- Jaxkr 6mo agoGreat 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…
- xrd 6mo agoI'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?
- mohebifar 6mo agoYes, 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.
- Jayakumark 6mo agogreat project but non commercial license, makes me not to go near it.
- mohebifar 6mo agoI 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.
- tredre3 6mo agoI 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.
- mohebifar 6mo agoThanks for the feedback! I honestly had not read the license thoroughly. I just changed it to ELv2.
- cpb 6mo 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!
- mohebifar 6mo agoThanks so much for the feedback. I just changed the license to ELv2.
- SlavikCA 6mo agoGreat project! Is there similar project for image editing? Just basic features: - cropping - rotating - brightness & contrast
- fragmede 6mo agophotopea?
- modeless 6mo agoYeah, Photopea isn't exactly basic but it's great. If this became the Photopea equivalent for video that would be awesome.
- SlavikCA 6mo agoThank you. Just tried it. UI is rather confusing.
- Saris 6mo agoIt's a photoshop clone but if you have not used that before I can see how it might be a lot!
- bstsb 6mo agolooking good! getting red/inverted video flashes on Firefox, M4 Pro. could be an issue with canvas anti-fingerprinting though, not sure its root cause
- skyberrys 6mo agoThis looks cool! I'll check it out later from my computer, I'm guessing it's not so easy to use on mobile.
- Retr0id 6mo agoTried 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).
- mohebifar 6mo agoYep. Unfortunately, Firefox has a poor WebGPU support atm.
- devnotes77 6mo ago[dead]
- xnx 6mo agoHow does this compare to https://omniclip.app/ https://omniclip.app/ ?
- mohebifar 6mo agoSeems 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.
- Saris 6mo agoI 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?).
- bitwize 6mo agoIs it feature-parity with Adobe Premiere and Final Cut Pro? If not, then it's not professional.
- dylan604 6mo agoIf 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.
- mashreghi 6mo ago"Professional" = people getting paid, not feature checklists.
- Saris 6mo agoThat'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.
- baibai008989 6mo ago[dead]
- TechSquidTV 6mo agoI 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.
- mohebifar 6mo agoWe 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.
- TechSquidTV 6mo agoI am always on the lookout for a tool that can replace Premiere first of all, but that that is easy to do. Replacing After Effects, no one has ever accomplished, even remotely close. I have actually been able to somewhat (big asterisk here) use Remotion in some instances as an AE replacement. I can use Remotion for example, to design any kind of animation in code, and overlay it on video, which, especially with AI, lets me do quite a lot. One thing I did for a while, was render some assets, and then with remotion I created a template, and a script, that would pump out videos automatically. Think similar in concept to like, a Daily Mail news video, where its just some music, some footage, and some text overlayed. Every video is the same, they just need to drag and drop some assets in and click Go. Remotion was great for that. Still, I made the actual assets for the graphics in after effects. In mine, a date would "glitch" onto the screen and then glitch out. Probably possible to do with code, obviously, but was much more complicated than using AE to design that.
- skiing_crawling 6mo agoWhat 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.
- cerrO 6mo ago[flagged]
- dylan604 6mo agoBrand new accounts with such a positive comments always make me think someone's mom just signed up to make the comment.
- Richard_Jiang 6mo ago[flagged]
- cerrO 6mo ago[flagged]
- caijia 6mo ago[flagged]
- mohebifar 6mo agoGood 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.
- boppo1 6mo 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?
- caijia 6mo ago[flagged]
- gnarbarian 6mo agovery 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/ https://ubernaut.github.io/recordMyScreen/ which uses a the wasm build of ffmpeg.
- rikroots 6mo agoMy 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/ https://kaliedarik.github.io/sc-screen-recorder/
- leontloveless 6mo ago[dead]
- bilekas 6mo agoNice 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 ?
- mohebifar 6mo agoCould you please tell me more about your use case. I've changed the license once today. I'm open to changing it again.
- bilekas 6mo agoSo 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.
- durakot 6mo agoHad a look. "Professional" is doing a lot of work here.
- mashreghi 6mo agoIf people can ship paid work with it, it's professional enough.
- skyberrys 6mo agoI 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.
- mohebifar 6mo agoAmazing! That's really great to hear! Let me know if you ever have any issues or feature requests in the GitHub issues.
- pjmlp 6mo agoThis 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.
- mohebifar 6mo agoThe 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.
- pjmlp 6mo agoExcept 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.
- m00dy 6mo agoA chrome tab still has 4gb max memory limit right ?
- mashreghi 6mo ago
- chloecv 6mo ago[dead]
- evegalactica 6mo agobest for every day use! i tried it and it was fun!
- MofuVideo 6mo ago[dead]
- algolint 6mo ago[flagged]
- m-schuetz 6mo agoI 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.
- anthk 6mo agoFor WASM, there are interpreters written in Go: https://shithub.us/slashscreen/ricket/HEAD/info.html 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.
- msalihb 6mo agoThats great, I really enjoy when someone try to shake the *dobe's reign
- bilekas 6mo agoThis is a far cry from Adobe's suite. It's like a version of MsPaint Vs Photoshop.
- wwdx 6mo agoThe 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.
- derodero24 6mo ago[flagged]
- blendaddict 6mo agoplease post link, this is something I need
- derodero24 6mo ago[flagged]
- nextaccountic 6mo ago> napi-rs why not tauri?
- derodero24 6mo ago[flagged]
- aboardRat4 6mo agoI'm baffled each time people re-implement stuff from scratch instead of contributing to existing mature projects.
- blendaddict 6mo agoI 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.
- skyberrys 6mo agoIt 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.
- sails 6mo agoThis is good! Switching from the various terrible online tools I cobble together. (Descript, Riverside, etc etc) Request for transcription and transcription editing
- ubercow13 6mo agoSee also https://github.com/Sportinger/MasterSelects https://github.com/Sportinger/MasterSelects
- beepbooptheory 6mo agoTo maybe save people some time, repo shows this has ~25 commits and was started in January.
- ashish01 6mo 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)
- FormularSumo 6mo agohttps://caniuse.com/webgpu https://caniuse.com/webgpu Missing support in Firefox on Linux and Android, otherwise seems to be pretty well supported in recent browsers.
- jqbd 6mo agoI'd love some developer love for Blender's editor instead
- Sportinger 6mo agohey hi. i did the same masterselects.com
- lofaszvanitt 6mo agoIsn't the wasm ffmpeg still waaay more slower through the browser, since a lot of the optimizations are not available?!
- edoceo 6mo agoHas been my experience. Like, orders of magnitude slower. For flipping around a few seconds of video it's ok - but it's only processing (on my machine) like 2fps.
- belviewreview 6mo agoFor what use cases is this supposed to be better than using a desktop editor like OpenShot?
- kinderjaje 6mo agoGreat stuff, but the license killed the "open source" vibe. I wanted to use in my project, and yes its commercial, video editing would be only small part of it.
- simjnd 6mo agoFeedback from just 5 minutes of messing around. - You can't delete the audio track from a video, only mute it - You can't add a new Audio track - Because of the two points above you can't really seem to be able to overlay a song to a video that already has an audio track? - You can only scroll horizontally and not vertically in the track block, so tracks can go out of screen and remain invisible