this post was submitted on 04 Dec 2025
139 points (99.3% liked)

Open Source

45293 readers
191 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 6 years ago
MODERATORS
 

cross-posted from: https://programming.dev/post/41813614

I'm currently working on a file converter app that lets you easily convert your files in bulk without needing to mess around with 500 settings or confusing command-line apps. It's mostly a replacement for all those "convert X to Y" websites.

This is just a front-end for ffmpeg and imagemagick, but the goal is to make something so simple even my parents could use without uploading sensitive files to shady websites on the internet. I've looked around, and I found all the local GUI converters like Handbrake are unwieldy to use, especially if you just want to convert in bulk.

The project is still very early, but I'd like some feedback:

  1. Does anyone think this project is worth finishing, or are there too many GUI file converters out there already?

  2. What do you think about the UI so far?

Cheers.

top 26 comments
sorted by: hot top controversial new old
[–] chillpanzee@lemmy.ml 19 points 3 months ago

You've taken an approach here where you intentionally hide the fact that a video file is (at least) 3 different technical formats that are independently variable. An "MP4" file can have a range of audio codecs, a range of video codecs, timed-text formats, additional audio, and so on. And there is no single standard composition that works everywhere.

When you simplify a matrix of user choices by making the vcodec, acodec, and timed text format choices on behalf of your users, you take on the burden of making sure those work everywhere the users want to playback. What you'll find is that most devices on the market only support a very limited range of container+vcodec+acodec combinations, they are undocumented more often than not, and buggy as hell.

The oversimplification approach you're taking is "ingesting anything, but output only 'Value Meal #1' for everybody." This has value for some people, but it puts a big burden on you to make choices that playback mostly correctly on a wide variety of devices, and it mysteriously breaks things that don't work everywhere (like surround sound, ambisonics, many timed text formats etc.). There's a reason why all that choice exists, even if most people don't, don't want to, and shouldn't need to understand it.

Not trying to dissuage you. Just sharing experience. :-)

[–] anon5621@lemmy.ml 14 points 3 months ago (1 children)

Well for ffmpeg the best converor I know is shutter encoder written in java

[–] dil@lemmy.zip 1 points 3 months ago (1 children)

Or use ai (its a basic valid use case imo) to help you learn the ffmpeg commands.

I also just copy the shutter encoder commandafter running it and reuse that since it lets you grab it. Just swapping out vb values and the input/output. Lets me do it over my iphone wiht the same settings (a-shell supports ffmpeg)

[–] sem@piefed.blahaj.zone 1 points 3 months ago

This is crystallizing something I've been thinking about for a while. LLM use in this case is kind of like GPS navigation for driving. If you never care about learning how to navigate without GPS, then by all means use it all the time. Same goes with ffmpeg, rsync, tar, or whatever. If you never want to learn how to use it without AI, just use it all the time.

I guess the difference is satellite navigation doesn't steal from people or use an ugly amount of power.

[–] oeuf@slrpnk.net 12 points 3 months ago

Good idea for an app. Linux especially would benefit from more high quality apps aimed at less-technical users.

Would be good to include audio-only conversion too.

[–] tyler@programming.dev 7 points 3 months ago (1 children)
[–] popcar2@programming.dev 9 points 3 months ago (2 children)

VERT is really close but not totally what I was looking for, it's a web app rather than a local program and AFAIK can't convert videos locally, you'd have to upload it to a server and download them again.

[–] otacon239@lemmy.world 7 points 3 months ago (1 children)

VERT is a file conversion utility that uses WebAssembly to convert files on your device instead of a cloud.

Doesn’t sound like you’re uploading to the server.

[–] popcar2@programming.dev 7 points 3 months ago (1 children)

Video files are an exception since it would be too slow on WASM

Q: What happens with video files?

Video files get uploaded to our lightning-fast RTX 4000 Ada server. Your videos stay on there for an hour if you do not convert them. If you do convert the file, the video will stay on the server for an hour, or until it is downloaded. The file will then be deleted from our server.

[–] beyond@linkage.ds8.zone 4 points 3 months ago (1 children)

Given that the server end is self-hostable one could just bundle the frontend and the backend into a single package and run that as an app. I imagine that might be a bit too much though.

[–] tyler@programming.dev 1 points 3 months ago

You don’t even need a single app, just run it with docker compose

[–] tyler@programming.dev 1 points 3 months ago

You can run it all locally if you want…. They’re just docker containers. Set up a docker compose and docker compose up

[–] asudox@lemmy.asudox.dev 7 points 3 months ago

A native UI would be nice, but this also works.

[–] flork@lemy.lol 6 points 3 months ago* (last edited 3 months ago)

This would be great for Emulation, for example converting .bin + .cue or .iso to .pbp, .rvz etc.

[–] icelimit@lemmy.ml 4 points 3 months ago

Convert a CSV into a wmv.

[–] lukecooperatus@lemmy.ml 3 points 3 months ago* (last edited 3 months ago)

This looks great so far! I love the concept of an app that makes conversions easy for the most typical use cases.

It looks like you're still early in the UI phase, so you probably have plans for this already, but I feel like the progress screen could use more feedback than only two progress bars.

Overall though, this looks like it could be solid! Good luck!

[–] morto@piefed.social 3 points 3 months ago (2 children)

Out of topic, but how viable is godot for creating desktop/mobile apps? Can it be used for "serious" stuff, or is it more of an improvisation?

[–] popcar2@programming.dev 7 points 3 months ago (1 children)

I have a whole blog post talking about using Godot for GUI development. The short of it is that it's surprisingly good but has a few drawbacks, and it doesn't have a bustling ecosystem like webdev tools. I've yet to try it on mobile, though.

[–] morto@piefed.social 1 points 3 months ago

Nice post! Thanks for sharing

[–] Gonzako@lemmy.world 4 points 3 months ago (1 children)

https://materialmaker.org/ got made in it. I don't know any other apps made in it but if it's anyway similar to unity it's doable

[–] lukecooperatus@lemmy.ml 4 points 3 months ago

Making apps with Godot is actually very doable, it takes care of a lot of the typical annoyances involved with that process like UI layout, theme support, and cross platform distribution. The Godot language (GDScript) is very approachable and powerful, too.

The Godot editor itself is made with Godot, and here's a few other nice examples of apps that I know of:

GodSVG

Wonderdraft (paid app)

Pixelorama

[–] JiveTurkey@lemmy.world 3 points 3 months ago (1 children)

I wish I had something to convert vector image formats to dxf. That's probably beyond the scope of this.

[–] NuXCOM_90Percent@lemmy.zip 2 points 3 months ago

https://www.google.com/search?q=svg+to+dxf+command+line yields

inkscape --export-type="dxf" input.svg --export-filename=output.dxf

At which point it is just bash scripting, for loops, and printf/awk. Which... is a Thing but it is also a Thing you only have to solve once (and actually is great fodder for LLMs).

[–] daggermoon@lemmy.world 2 points 3 months ago

Can it convert flac to wavpack?

[–] spicehoarder@lemmy.zip 2 points 3 months ago

If you want honest feedback, I won't be using it because it isn't native. File converters are one of those things for me that I really want to compile on my hardware.

[–] Kirk@startrek.website 1 points 3 months ago

I love this idea.