frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: VidStudio, a browser based video editor that doesn't upload your files

https://vidstudio.app/video-editor
61•kolx•1h ago
Hi HN, I built VidStudio, a privacy focused video editor that runs in the browser. I tried to keep it as frictionless as possible, so there are no accounts and no uploads. Everything is persisted on your machine.

Some of the features: multi-track timeline, frame accurate seek, MP4 export, audio, video, image, and text tracks, and a WebGL backed canvas where available. It also works on mobile.

Under the hood, WebCodecs handles frame decode for timeline playback and scrubbing, which is what makes seeking responsive since decode runs on the hardware decoder when the browser supports it. FFmpeg compiled to WebAssembly handles final encode, format conversion, and anything WebCodecs does not cover. Rendering goes through Pixi.js on a WebGL canvas, with a software fallback when WebGL is not available. Projects live in IndexedDB and the heavy work runs in Web Workers so the UI stays responsive during exports.

Happy to answer technical questions about the tradeoffs involved in keeping the whole pipeline client-side. Any feedback welcome.

Link: https://vidstudio.app/video-editor

Comments

elpocko•1h ago
> FFmpeg compiled to WebAssembly handles final encode

FFmpeg's license is the LGPL 2.1. VidStudio looks like closed source software, I couldn't see any indication that it's free software. You're distributing this software to run in the client's browser. I'm not a lawyer but I think you're in breach of the terms of the LGPL.

https://www.ffmpeg.org/legal.html

senko•58m ago
LGPL permits that.

However, some popular codecs use GPL, which, if enabled, would require to distribute the rest of the code under it as well.

elpocko•41m ago
LGPL permits you to distribute binaries, but you can't distribute the software as an opaque binary blob with no reasonable way to modify it. What even is the equivalent of a shared library that a user can replace when software runs in the browser?

Anyway, OP doesn't do most of the things FFmpeg lists under their "License Compliance Checklist".

trinix912•18m ago
> Anyway, OP doesn't do most of the things FFmpeg lists under their "License Compliance Checklist".

Legitimately asking, which points and how are they expected to handle it for this type of app (assuming they want to keep it closed source)? As far as I understand it they just need to credit the libraries?

elpocko•9m ago
The important thing is there has to be a clear separation between the proprietary parts and the LGPL parts of the app, and they have to provide a way to replace the LGPL parts. I have no idea how this is usually handled in the case of browser-based apps.
actionfromafar•4m ago
User must be able to replace the LGPL library with their own version of the library.
prhn•42m ago
Closed source is fine, but there are a few other things that are required of LGPL, some of which are

- Provide links to the source of the version of ffmpeg you used in your code

- User should be able to replace the ffmpeg libs with his own compatible builds if you're using dynamically linked libs. For statically linked libs, you need to provide the tools to re-link against a compatible build.

I went through an LGPL review recently so some of this is fresh in my memory, but please correct me if I'm wrong.

xixixao•5m ago
Dynamically and statically linked libs is hilarious in the context of webassembly running in the browser.
CodesInChaos•41m ago
It should be possible to comply with LGPL without publishing the source code of the whole application. Either by running the application and ffmpeg in different isolates (wasm processes), or by offering a way to merge (link) the wasm code of the closed-source application with a user compiled FFmpeg wasm build.

Different isolates might even be enough to satisfy GPL, similar to how you can invoke FFmpeg as a command line tool from a closed application. Though that feels like legally shaky ground.

kolx•31m ago
Thank you for pointing this out, to be completely honest, I did not consider licensing because the website started as a collection of tools I built to run locally and get into video/audio codecs then I realised it is already a decent collection of tools that other people might want to use too. But I will be making the needed changes to comply fully tonight. At least I comply with this: `Do not misspell FFmpeg (two capitals F and lowercase "mpeg")` I realised I have some more reading to do regarding GPL vs LGPL because of the wasm project.
freedomben•27m ago
Any reason not to just open source it? Personally I'd love to hack on it :-) IANAL, but IMHO AGPL would be a good fit here as it complies with LGPL and also ensures nobody besides you (the copyright holder) can stand it up for profit without contributing back).
netdevphoenix•21m ago
> Any reason not to just open source it?

Mmmm...potential commercialisation? Always find it curious that people expect to get source code for free in ways that they don't do for other work (ask George Martin to release his drafts and notes).

freedomben•15m ago
> Mmmm...potential commercialisation?

Hence why I asked the question... And not everybody does everything for commercial reasons, so it would be dumb to assume that and therefore not ask the question.

> Always find it curious that people expect to get source code for free in ways that they don't do for other work (ask George Martin to release his drafts and notes).

Where in my question did you get that I expect to get source code for free in ways that I don't for other work?

But regardless, you do know that open source is a common thing right? People open source things all the time, especially on HN.

Also OP already says they don't do any uploading of your videos to the cloud, so this thing already runs local-only. It's not like there is a shortage of video editors around (including ... open source video editors)

mbesto•12m ago
The parent commenter is making that comment because this is precisely the nature of why the GPL license exists. Most of the processing of this application is FFMPEG, so why should someone who has done zero development on that library commercialize it?
kolx•5m ago
I never maintained an open source project and not sure how to even do it properly. I am also not sure how much effort would I have to put to an open source project. I imagine I would need to collaborate with a pretty much anyone who has an interest in the area. Again not that I mind just not sure how much time I have to spare. Right now this is a really slow process and tbh I have to rely on manual testing at least for the editor.
xnx•49m ago
How does it compare to https://omniclip.app/ or https://tooscut.app ?
b1temy•21m ago
Also wondering how it compares to https://pikimov.com , another browser-based video editor I've seen making the rounds.
spuzvabob•42m ago
I've built a similar video editor and have been considering pure client side implementation vs transcoding into a known format beforehand, went with transcoding for wider format support and easier video playback implementation.

I'm interested in how you handle demuxing different container formats any which ones are supported?

I get "Audio decode failed: your browser cannot decode the audio in "41b1aee9-ac65-43f6-b020-e8fed77c3c72_webm.bin". Try re-encoding the file with AAC audio." for a WEBM with no audio.

h264/aac MP4 works, is that demuxed with mp4box.js? I noticed seeking (clicking or scrubbing on timeline) initializes a new VideoDecoder and destroys the previous one for every new frame, leading to abysmal performance as you lose decoder state and a lot of decoding work has to be repeated. Plus the decoder reinitialization time. Is that because the demuxing logic doesn't give precise access to encoded frames? iirc mp4box.js didn't support that last time I checked.

prhn•39m ago
You probably already know this, but I could not import 10-bit video on Windows which I think would be fairly common among the target audience.

ffmpeg supports decoding 10-bit video.

kolx•26m ago
Thank you for flagging this, indeed you are right. I do have a long list of problems to go through. The editor mostly relies on the browser Audio/Video codecs which I learned after trying FFmpeg out. They have wide support but also a bunch of limitations. Actively working on it, thank you for the feedback. It is the first time I take such a deep dive to all of these.
Sergey777•36m ago
Interesting approach—privacy-friendly editing without uploads is compelling. Curious how you handle performance and large files purely in-browser, and what trade-offs there are vs server-based editors.
bjord•21m ago
get this twitter-style LLM reply guy spam off of HN
DoctorOW•23m ago
Let me just say the performance is absolutely incredible, and the persistence is so transparent. I actually was given access to an in-browser video editor that chokes pretty quickly so I'm impressed. The tracks didn't seem to work well for me. I'm on Firefox on Windows and couldn't drag and drop tracks to change the order, there doesn't seem to be any layer transformation tools (position, rotation, scale) that I could find to counteract it not handling footage of different aspect ratios (I.E. portrait and landscape).
kevmo314•11m ago
Wild that apps used to be completely local, no accounts, no uploads, and we're back to that as a value prop.

Show HN: VidStudio, a browser based video editor that doesn't upload your files

https://vidstudio.app/video-editor
61•kolx•1h ago•24 comments

Show HN: Antenna – RSS reader with a built-in MCP server

https://antennafeed.com/
10•toddllm•48m ago•4 comments

Show HN: Mediator.ai – Using Nash bargaining and LLMs to systematize fairness

https://mediator.ai/
102•sanity•22h ago•46 comments

Show HN: WeTransfer Alternative for Developers

https://dlvr.sh/
13•mariusbolik•5h ago•3 comments

Show HN: Holos – QEMU/KVM with a compose-style YAML, GPUs and health checks

https://github.com/zeroecco/holos
50•zeroecco•16h ago•22 comments

Show HN: DSS, a new human-readable and plain format for XLS and spreadsheets

https://github.com/Datastripes/DataSheetStandard/
4•vinserello•6h ago•0 comments

Show HN: Prompt-to-Excalidraw demo with Gemma 4 E2B in the browser (3.1GB)

https://teamchong.github.io/turboquant-wasm/draw.html
154•teamchong•2d ago•61 comments

Show HN: Run TRELLIS.2 Image-to-3D generation natively on Apple Silicon

https://github.com/shivampkumar/trellis-mac
197•shivampkumar•1d ago•34 comments

Show HN: Git Push No-Mistakes

https://github.com/kunchenguid/no-mistakes
12•akane8•19h ago•2 comments

Show HN: Shader Lab, like Photoshop but for shaders

https://eng.basement.studio/tools/shader-lab
156•ragojose•4d ago•46 comments

Show HN: Faceoff – A terminal UI for following NHL games

https://www.vincentgregoire.com/faceoff/
127•vcf•1d ago•43 comments

Show HN: A fake small claims court for petty complaints

https://benlirio.com/petty-small-claims/
4•blirio•9h ago•1 comments

Show HN: MDV – a Markdown superset for docs, dashboards, and slides with data

https://github.com/drasimwagan/mdv
147•drasim•2d ago•53 comments

Show HN: Alien – Self-hosting with remote management (written in Rust)

103•alongub•22h ago•43 comments

Show HN: A lightweight way to make agents talk without paying for API usage

https://juanpabloaj.com/2026/04/16/a-lightweight-way-to-make-agents-talk-without-paying-for-api-u...
52•juanpabloaj•1d ago•11 comments

Show HN: I built an AI that assigns YOU tasks

https://www.pause.build/
2•chaidhat•10h ago•4 comments

Show HN: Palmier – bridge your AI agents and your phone

https://github.com/caihongxu/palmier
4•caihongxu•11h ago•5 comments

Show HN: MCPfinder – An MCP server that finds and installs other MCP servers

https://mcpfinder.dev/
5•coderai•16h ago•0 comments

Show HN: Mimi in the browser – hear the semantic/acoustic split

https://www.frisson-labs.com/mimi-codec
3•ymaws•14h ago•1 comments

Show HN: Auto-generated titles and colors for parallel Claude Code sessions

https://github.com/jbarbier/which-claude-code
2•julien421•14h ago•0 comments

Show HN: Ctx – a /resume that works across Claude Code and Codex

https://github.com/dchu917/ctx
5•dchu17•21h ago•0 comments

Show HN: Smol machines – subsecond coldstart, portable virtual machines

https://github.com/smol-machines/smolvm
492•binsquare•3d ago•147 comments

Show HN: Eris – desktop PGP workstation with simple GUI

https://eris.sibexi.co/
2•Sibexico•15h ago•0 comments

Show HN: Themeable HN

https://github.com/insin/comments-owl-for-hacker-news/releases/tag/v3.6.1
4•insin•21h ago•1 comments

Show HN: I Built SwiftUI but for macOS MDM

https://github.com/photon-hq/Astrolabe
6•RyanZhuuuu•16h ago•0 comments

Show HN: I made a calculator that works over disjoint sets of intervals

https://victorpoughon.github.io/interval-calculator/
310•fouronnes3•3d ago•54 comments

Show HN: PanicLock – Close your MacBook lid disable TouchID –> password unlock

https://github.com/paniclock/paniclock/
258•seanieb•3d ago•114 comments

Show HN: GeoFastMapAPI – open-source Fast vector and raster server for mapmakers

https://geofastmap.com/
2•rupestre-campos•17h ago•0 comments

Show HN: Newsmaps.io a map of how news topics are covered by different countries

https://www.newsmaps.io/
18•mkoh•1d ago•6 comments

Show HN: Simple CLI tool to convert PDFs to dark mode, with TOC preservation

https://github.com/rngil/dark-pdf
3•rngil•17h ago•1 comments