[HN Gopher] Open source and self hostable/private file converter
___________________________________________________________________
Open source and self hostable/private file converter
Author : sandybonks
Score : 401 points
Date : 2025-04-12 12:40 UTC (10 hours ago)
(HTM) web link (vert.sh)
(TXT) w3m dump (vert.sh)
| gunalx wrote:
| Looks neat. Would love something like this with optional yt-dlp
| support as well.
| xnx wrote:
| Is Vert like a simplified version of https://ffmpeg-
| web.netlify.app/ ?
| xiaoyu2006 wrote:
| I think yes.
| maxloh wrote:
| 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
| api wrote:
| 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 wrote:
| A relevant audience are the corporate computing inmates, who
| cannot install anything locally... They are happy to find
| utilities wrapped behind some web front.
| api wrote:
| 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.
| PeterStuer wrote:
| It doesn't send the file though.
| Trufa wrote:
| 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.
| graemep wrote:
| 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
| doubled112 wrote:
| This isn't true for me.
|
| My most powerful machine tends to be the home server, and some
| of my laptops are terrible.
| palmy wrote:
| 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:)
| XorNot wrote:
| 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 wrote:
| 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 wrote:
| 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.
| virtualritz wrote:
| How is this different from image/graphics magick, ffmpeg,
| oiiotool etc?
|
| Or: what am I missing here, why is this on the front page?
| karamanolev wrote:
| As far as I can tell, what you're missing is the massive ease-
| of-use and approachability, especially for non-technical users,
| of a web-based graphical "convert X to Y" interface vs. facing
| command line ffmpeg, which they probably haven't heard of.
| graemep wrote:
| There are already GUIs for ffmeg and most image editing
| applications can save in multiple formats so its still not
| clear to me what this adds
| titaphraz wrote:
| It's not clear to me why that's a problem?
| barbs wrote:
| I feel this is easier than those solutions in a lot of
| cases - mainly because you don't need to install anything.
| Just open website, drag and drop a file, pick target
| format, done.
| graemep wrote:
| Which is only true if you are not interested in the
| "self-hostable" part and you installing an app is a
| significant difficulty.
|
| Once an app is installed locally it is more convenient to
| use - that is why it is so common for apps to replicate
| (or just wrap) websites.
|
| If you are not interested in the self-hostable part there
| are lots of online converters.
| FusionX wrote:
| It's a web service that can be used on any device without
| installation. Think in terms of usability for old, non-
| technical folks.
| nonrandomstring wrote:
| All of that. A couple more thoughts. As a _project_ it brings
| together energy to a task /configuration: namely that of
| making sure all those disparate command-line tools or bits of
| lib code are brought together for the specific purpose of
| serving file translations from some spot in a transactional
| fashion. So that's some value.
|
| Why on the front page? That question might also have a non-
| technical answer. What's going on in news and events? Who's
| been setting up file translators and then "Dude I have over
| 4,000 soundfiles, pictures, address-books..." ... "Whoah?
| Like. howdy manage that one?" ... "People just submitted it.
| Zuck fucks"
| bee_rider wrote:
| For some reason even technical and linux-savvy people, (I've
| seen this on zoom calls) will google up an image or video
| converter. I don't get it either, but if this provides an
| alternative to those awful ad-infested sites I guess it is an
| improvement.
| dmd wrote:
| yeah you can already build such a system yourself quite
| trivially by getting an FTP account, mounting it locally with
| curlftpfs, and then using SVN or CVS on the mounted filesystem.
| From Windows or Mac, this FTP account could be accessed through
| built-in software.
| hamburglar wrote:
| Underrated comment
| bigstrat2003 wrote:
| Yeah I also cannot for the life of me understand why anyone
| would want a web site that converts files. Just install a
| desktop app to do the same (GUI or otherwise) and it will be
| more pleasant to use, and more performant. The Web is not a
| good application platform no matter how much people try to
| shoehorn it into being one.
| hamburglar wrote:
| People value not having to install anything, for various
| reasons.
| filmgirlcw wrote:
| Ok, but imagine you're in a situation where you don't have
| the ability to install apps, or you're temporarily on a
| platform you're unfamiliar with and so you don't know what
| GUI tools exist. This is why people wind up using web-based
| converters, which as another commenter noted, can be hijacked
| for malware.
|
| A WASM solution might not be the most performant but it will
| be an option.
|
| As for the web not being a good application platform, that
| ship sailed 20+ years ago and at this point, it's hard to
| find any "native" apps that don't share at least some
| similarities or core components as web apps, even if it's
| just for UI. Although I personally would rather have a good
| native Mac app than a mediocre web app, I'd rather have a
| well-written web app than a mediocre Mac Catalyst app, and in
| many cases, than running an iOS app on the Mac. And I often
| prefer a web app or app built with web technologies to
| "native" apps built with GTK or Qt.
| xiaoyu2006 wrote:
| 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.
| hypercube33 wrote:
| It just needs pandoc to do document conversions and we are
| golden
| ukuina wrote:
| pandoc-wasm?
| sergiotapia wrote:
| 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 wrote:
| 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.
|
| https://en.wikipedia.org/wiki/Fabrice_Bellard
| starkparker wrote:
| 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.
| igtztorrero wrote:
| That's a whole true, creator Mr Fabrice Bellard, a 1000x
| developer, also create Qemu, another essential gem of software.
| pestaa wrote:
| WHAT!? Unbelievable productivity. I'm in awe (and a renewed
| impostor syndrome).
| stavros wrote:
| And TinyC, and the Bellard formula for calculating pi.
| mschuster91 wrote:
| ... and a fully working SDR implementation of the LTE
| phone standard.
|
| The dude can wrap his head around literally _anything_.
| Him and Torvalds are truly exceptionally capable people.
| VTimofeenko wrote:
| 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 wrote:
| 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?
| satvikpendem wrote:
| People use that term casually, don't read too much into
| the implications.
| darknavi wrote:
| 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/
| leptons wrote:
| 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.
| cnych wrote:
| ffmpeg is so great~
| pruneau wrote:
| Another one : ConvertX https://github.com/C4illin/ConvertX
|
| Images, videos, documents, etc.
| haswell wrote:
| 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 wrote:
| 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.
|
| - [0] https://github.com/Stirling-Tools/Stirling-PDF
| Alifatisk wrote:
| 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...
| metadat wrote:
| 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 wrote:
| 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 wrote:
| As I understand the license, it doesn't apply to clients,
| just the service itself.
| xnx wrote:
| Would be even cooler if the website gave credit to what it is
| built on.
| bikamonki wrote:
| Is there a Vert for html to PDF?
| maxerickson wrote:
| Pandoc https://pandoc.org/
| mubou wrote:
| Another good option is to actually just use puppeteer
| (headless chrome)
| Ametrin wrote:
| I can recommend https://pdfbolt.com. It is unfortunately not
| self-hosted but built with privacy in mind. I'm the founder.
| cbondurant wrote:
| 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.
| remram wrote:
| Tried a video, got "invalid digit found in string". I will stick
| with ffmpeg on termux I guess.
| handwarmers wrote:
| It's a great UI to ffmpeg - I wish they gave it some credit on
| their landing page.
| mubou wrote:
| 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.
| franciscop wrote:
| At least they do in the Settings:
|
| "The vertd project is a server wrapper for FFmpeg [...]"
| maxloh wrote:
| Maybe we could compile ffmpeg to WebAssembly and handle video
| conversion offline too?
| starkparker wrote:
| That's exactly what this does: https://github.com/VERT-
| sh/VERT/blob/2c8cb1922cf611489022645...
| import { FFmpeg } from "@ffmpeg/ffmpeg";
|
| `@ffmpeg/ffmpeg` is https://ffmpegwasm.netlify.app.
|
| If you finessed that `supportedFormats` array to add video
| formats, this would probably just work.
| maxloh wrote:
| That isn't what they stated in their website.
|
| > Video uploads to a server for processing by default, learn
| how to set it up locally here.
|
| The server code is open source too: https://github.com/VERT-
| sh/vertd
| michaelsalim wrote:
| If you follow the link on the sentence you quoted, the
| reason why is explained there
| Alifatisk wrote:
| Like this? https://github.com/ffmpegwasm/ffmpeg.wasm
| brontosaurusrex wrote:
| Is there a version of this that would support my custom presets
| for AVC/HEVC mp4 encoding with video filters like
| deinterlace/resize and similar (and/or audio filters like ebu
| R128)? (p.s. Also my usual input type is cinefrom/mov, which this
| one is not happy with for some reason)
| androng wrote:
| please add HEIC: the default file format from iPhones
| mfkp wrote:
| Yes, this is my most common web conversion. HEIC to JPG
| natebc wrote:
| This is just ffmpeg powered and it looks like some support was
| added fairly recently.
|
| https://trac.ffmpeg.org/ticket/6521
|
| https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/a0821345eb31...
| albert_e wrote:
| Webp supported yay!
| nipperkinfeet wrote:
| HEIC nonsense from Apple supported?
| bilater wrote:
| I did something similar using ffmpeg WASM in the browser. But it
| does have limits sadly. You can't really do heavy tasks.
| https://vididoo.vercel.app/
| chentastic wrote:
| What's the limiting factor though? limited VM memory in the
| browser?
| dr_kiszonka wrote:
| 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!
| koakuma-chan wrote:
| Nice view transitions!
| dahousecat wrote:
| I would love this tool if it supported converting font files.
| bhaney wrote:
| 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
___________________________________________________________________
(page generated 2025-04-12 23:00 UTC)