Open source and self hostable/private file converter
119 comments
·April 12, 2025xiaoyu2006
starkparker
I get to be one of the lucky few to learn today that ffmpeg was ported (well, transpiled) to WASM. This is more specifically built on that port: https://github.com/ffmpegwasm/ffmpeg.wasm
That project has an interactive playground that essentially describes and demonstrates how it works: https://ffmpegwasm.netlify.app/playground
This also means that despite being a locally hosted ffmpeg frontend, it's still slower than native ffmpeg and bound to WASM limits like file size (still a generous 2GB for images and audio, but not as viable for big video conversions).
Still weird that this project doesn't seem to acknowledge that anywhere.
TheSmiddy
they may have updated the website since the numerous comments here but the about section acknowledges all the libraries they use
Libraries
A big thanks to FFmpeg (audio, video), libvips (images) and Pandoc (documents) for maintaining such excellent libraries for so many years. VERT relies on them to provide you with your conversions.
xnx
Looks like that was added in the last day from what I can tell. Glad to see it, but still weird that they aren't links.
https://github.com/VERT-sh/VERT/commit/8f8ea34483cab76e27204...
igtztorrero
That's a whole true, creator Mr Fabrice Bellard, a 1000x developer, also create Qemu, another essential gem of software.
darknavi
It really is crazy how true the 1000x statement is.
We use QuickJS (the JavaScript runtime he authored) in Minecraft (Bedrock) where even more developers use it to mod Minecraft. It's a huge pyramid of developers!
Checking out Bellard's website is a great high level list of works: https://bellard.org/
LoganDark
i would hope that one day bedrock edition will support macos just like education edition does (which runs on the exact same engine), but i fear that microsoft might have bought mojang expressly to prevent that from happening
pestaa
WHAT!? Unbelievable productivity. I'm in awe (and a renewed impostor syndrome).
VTimofeenko
That's kinda like being into sports (maybe even professionally) and comparing oneself to an Olympic champion. It's great to be inspired by them, but it's very important not to be discouraged by what they achieved. We are all standing on the shoulders of giants.
cortesoft
Seems strange to me to feel imposter syndrome for not matching up to an elite talent… did you feel prior to this that you were the best in the world at programming, and now realize you aren’t? Is everyone who isn’t the very top of the top an imposter?
stavros
And TinyC, and the Bellard formula for calculating pi.
matheusmoreira
Reading that list of projects is quite humbling. I've always wanted to make stuff like that.
thatcat
Never heard of him, thanks for pointing this out.
sergiotapia
It is one of the wonders of the world. Such a gift that we get to use it for free, from end users like us to large corporations like Netflix.
metadat
Actually, ffmpeg exists thanks to the legendary Fabrice Bellard. He's the rarest kind of programmer, stunningly capable and on a totally different wavelength of existence in terms of breadth of achievements. He made ffmpeg, incepted QEMU, and is a mobile / cellular communications guru.
freeamz
Kinda remind me of this:
https://newbeelearn.com/tools/videoeditor/
and this one also outputs ffmpeg command as well.
leptons
I could tell from the list of file formats that it had to be a front-end for ffmpeg. Kind of disappointed, since I can already do that easily enough. What I was hoping for was a converter for 3D model formats, which is a real pain sometimes.
haswell
With the recent findings [0] that some of the “free file converter” websites in the wild were actually injecting malware into the results as the first stage of various attacks, I’ve wanted to stand something like this up on a server for my family.
This looks like exactly what I’ve been looking for.
- [0] https://www.fbi.gov/contact-us/field-offices/denver/news/fbi...
thi2
I'll hijack this to plug Stirling PDF[0], I have it running on a Raspberry Pi with docker compose and from time to time it's incredible helpfull to edit PDFs without sending them to a third party.
Alifatisk
Wow, this is scary, I was about to ask which some of these websites are, but I found this link that lists some of them. https://www.helpnetsecurity.com/2025/03/18/fbi-free-file-con...
oceanhaiyang
Wow, the FBI has some great tips to protect yourself from scams including:
> Take a breath, slow down and think.
ryandrake
Honestly, I'm not sure why you need a web interface on top of ffmpeg. It just seems to be an easy avenue for malware.
haswell
My 70+ non technical parents are not going to have much success with ffmpeg.
genewitch
While I have 68 fewer parents, minimum, than you, I also have technical issues with ffmpeg and I pitched a transcoding setup to a F50 company - so I've used it.
immibis
Nerds don't. Normal people do. Normal people also won't download and self-host some open source software just to convert one file...
maccard
Nerd here. I somewhat regularly need to use ffmpeh to convert between formats and re encode (we get 16 tracks of 16 bit wav audio out of a mixer, and I re encode them to send them to someone else who does a rough mix, about once a month).
I still use ChatGPT for the command lines regularly like - “ want to combine these two tracks into a single stereo track with A on left, and B on right” which is super helpful for putting stuff in an SPD.
phito
Phone
metadat
It's cool the source code really is open and available:
https://github.com/VERT-sh/VERT
AGPL licensed, which seems perfect for this kind of product:
The AGPL (Affero General Public License) is a type of free software license developed by the Free Software Foundation. It is similar to the GPL (General Public License) but with one key difference:
Network Use Clause: If you modify AGPL-licensed software and use it over a network (like a web app or API), you must also release your source code to the users who interact with it.
In other words, with GPL, you have to share your code only when you distribute the software. With AGPL, you have to share your code even if users are just accessing it over the internet (like using a SaaS product). AGPL was created to close the "SaaS loophole" in the GPL.
Further reading: https://opensource.stackexchange.com/questions/7578/what-are...
SteveNuts
Does writing a library that does an RPC to AGPL licensed software count? Even if you don’t modify the AGPL code in any way?
stavros
As I understand the license, it doesn't apply to clients, just the service itself.
szundi
[dead]
null
xnx
Would be even cooler if the website gave credit to what it is built on.
jangxx
It does though? I you click on the (i) button, there's a "Libraries" section.
null
api
Why do such things need to be hosted at all?
I've got a few file converter apps on my laptop. They're faster and better and you don't need to stream the data off somewhere just to process and stream back, which is silly.
liotier
A relevant audience are the corporate computing inmates, who cannot install anything locally... They are happy to find utilities wrapped behind some web front.
graemep
There are already lots of online convertors. This is FOSS and a bit more trustworthy but very few people in corporate environments will care about that
api
Ahh good point.
An often missed driver for the cloud-ification of everything is that it offers a way to escape corporate IT. Sending a 20mb file 2000 miles away to do something trivial to it and send it back is easier than getting permission to install an app.
maccard
It really is. At a previous job, the approval process for a tool involved a questionnaire that rivalled a census, and a wait time of 4-6 weeks for approval. I literally never had any software refused via this process - most people just didn’t bother filling it in.
PeterStuer
It doesn't send the file though.
Trufa
What a silly take.
> Why do such things need to be hosted at all?
because: corporate computing inmates, who cannot install anything locally
Basically, denying or not seeing the practicality factor of web hosted solutions is either trying to be edgy or worryingly myopic.
liotier
> Basically, denying or not seeing the practicality factor of web hosted solutions is either trying to be edgy or worryingly myopic
Are you unsatisfied with the myriad of Imagemagick, FFMPEG, sox or Ghostscript GUI front-ends ? What does a web deployment offer ? Even not taking privacy concerns in consideration, the local solution if better - I guess a one-off conversion might wish to eschew local installation, but such bread-and-butter operations are rarely one-off.
Or should we consider the market for a zip/7zip/rar/tar.gz file compression web front-end ?
palmy
The reality is also that not everyone isn't technical enough to deal with `ffmpeg` directly. At some point I basically hosted hacked-together website which simply used `ffmpeg` under the hood so that my dad, who's not as technically literate, could easily convert his files. Now I don't have to do this anymore because I can just host a vert.sh instance:)
doubled112
This isn't true for me.
My most powerful machine tends to be the home server, and some of my laptops are terrible.
XorNot
I run a selection of things like this on my home network for my wife to use. It's handy to have their just be tools living on the network to use, particularly if you're setting up a new machine or using a work laptop off the guest network or the like.
barbs
The conversion for this one happens all client-side - no streaming data to a server required.
If you're happy using your existing apps, you probably wouldn't see much use in this. But I can definitely see how the UI/UX would appeal to a lot of people.
imoreno
Probably harder to monetize traffic and upsell subscription extras. I agree, if it's all done on the client anyway, it should just be a local app.
dr_kiszonka
It is wonderful and useful and all that BUT the auto opt-in analytics information should be on the main page.
I appreciate you are using Plausible (good) and it is perfectly understandable and justifiable that you want to know how vert is used, but why hide it at the bottom of the settings screen? It just makes me trust you less. Yes, I could audit the source code for other surprises. That is not the point.
Please treat my comment as a suggestion / feedback. Otherwise, congratulations on an enormously useful and easy to use project!
AnyTimeTraveler
My common sense tells me: "If you aren't paying for the product, you are the product." Am I the only one who finds it a bit weird, that they are hosting a the video conversion part of server with graphics cards etc. for free? I see no way to support that long term, unless they are doing something more than the data gathering with Plausible that they have on their page.
Anything I missed, that explains this?
null
handwarmers
It's a great UI to ffmpeg - I wish they gave it some credit on their landing page.
franciscop
At least they do in the Settings:
"The vertd project is a server wrapper for FFmpeg [...]"
mubou
I wish it were more common for open source licenses to have an attribution clause, like Apache does with its (optional) NOTICE files. When you put years of effort into a work, you deserve credit for it.
Edit: Actually, using a library via a package manager would likely be considered "linking" and not a Derivative Work, so I don't think even Apache's clause would apply in many cases.
xnx
Is Vert like a simplified version of https://ffmpeg-web.netlify.app/ ?
xiaoyu2006
I think yes.
maxloh
Nope. They process videos in a server instead.
> Video uploads to a server for processing by default, learn how to set it up locally here.
The server is open source too: https://github.com/VERT-sh/vertd
null
cbondurant
This is definitely going in my bookmarks.
Though I think as long as video conversion requires uploading to a jobserver, you're probably better off just invoking ffmpeg directly. Would suffer a lot from upload and download times on files that large. Though I wouldn't be surprised if problems like that become minimal if/when the video conversions can also run pure out of WASM as well.
bhaney
As far as I can tell, this uses:
- libvips (wasm): for image conversion
- ffmpeg (wasm): for audio conversion
- ffmpeg (remote, via vertd): for video conversion, with an option for the hoster to use wasm ffmpeg instead with some limitations (performance, maximum file size, etc)
And from browsing the github, missing formats are usually caused by difficulties linking the libraries that handle those formats into the wasm libvps/ffmpeg
pruneau
Another one : ConvertX https://github.com/C4illin/ConvertX
Images, videos, documents, etc.
remram
Tried a video, got "invalid digit found in string". I will stick with ffmpeg on termux I guess.
It's ffmpeg all the way down. I can't imagine what the internet would be if there weren't such a marvelous piece of software.