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.

all 26 comments

sorted by: hot top controversial new old
[–] 14 points 11 months ago (2 children)

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

  • source
  • hideshow 2 child comments
  • [–] 1 point 11 months ago (1 child)

    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)

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 11 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.

  • source
  • parent
  • [–] 11 points 11 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.

  • source
  • [–] 18 points 11 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. :-)

  • source
  • [–] 7 points 11 months ago (6 children)
  • [–] [S] 8 points 11 months ago (5 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.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 7 points 11 months ago (3 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.

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 5 points 11 months ago (2 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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 7 points 11 months ago

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

  • source
  • [–] 7 points 11 months ago

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

  • source
  • [–] 5 points 11 months ago

    Convert a CSV into a wmv.

  • source
  • [–] 3 points 11 months ago (1 child)

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

  • source
  • hideshow 1 child comment
  • [–] 3 points 11 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!

  • source
  • [–] 3 points 11 months ago (4 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?

  • source
  • hideshow 4 child comments
  • [–] 4 points 11 months ago (1 child)

    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

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 11 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

  • source
  • parent
  • [–] 2 points 11 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.

  • source
  • [–] 2 points 11 months ago

    Can it convert flac to wavpack?

  • source
  • [–] 1 point 11 months ago

    I love this idea.

  • source
  • 33 comments in c/opensource@programming.dev view that post
    [–] 26 points 11 months ago (6 children)

    Hey, I'm clearly not in the target audience, so take what I'm about to say with a grain of salt.

    I think your motivation is great, I absolutely loathe these websites you mention and, if my mother was prone to doing these operations on her machine, I'd worry quite a bit.

    By virtue of that alone, I believe this is a worthwhile endeavour and you should keep at it.

    But to answer more specifically your points.

    1. I don't know about the state of other GUI tools. Maybe the problem has more to do with exposure than lack of choice? I don't think more choice is necessarily bad, the real issue is managing to put it in front of the people you're targeting.
    2. That goes to my second point. I could subjectively give you my opinion on it, but it would be better to have it tested by someone who fits the bill of intended user. I don't know how many of these people you'll find on Lemmy tbh.

    Personally I... am not a fan of the interface but, I am a grumpy middle aged person who started on computers way too young on an Atari running Atari TOS... So my idea of a good GUI would probably send horror shivers down a lot of people's spines. There are objectively good points to yours: it looks snappy, reactive, there are not a lot of buttons or options so as not to overwhelm, and an easy and clear way to open the file explorer. Looks like a great proof of concept that you can keep polishing and iterating on as you go.

    Good luck with it!

  • source
  • hideshow 6 child comments
  • [–] 2 points 11 months ago (3 children)

    my idea of a good GUI

    Examples?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 8 points 11 months ago (2 children)

    If I feel like trolling a bit, I'd say this:

    But in all seriousness, I just don't like the modern minimalistic styles and sliding animations and whatnot. I would not push something like the image above onto a user, but I'd be perfectly happy using that, personally.

    For an actual answer, I've been getting into trackers lately on what little free time I have and am really enjoying milkytracker's interface:

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 11 months ago (1 child)

    Dang... Thanks for the reminder about Milkytracker. I gotta dig into that... Also, I'm fine with that top GUI as well, haha! Unclear boundaries are visually tricky to me, too.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 11 months ago

    Yup there is a bit of that, and also for me, although I readily admit the above is a bit cluttered, there is something nice about having the information laid out in a plane rather than nested in a hierarchy of menus.

    Obviously, that's not always possible, but I find sometimes that, for the sake of each pane appearing "simple" and "clean", I need to hold more context in my head of where things are, and how deeply nested they are.

  • source
  • parent
  • [–] 18 points 11 months ago (1 child)

    I like the idea a lot, I don't know how to use CLI well and I dislike those websites. I would suggest for the UI to use standard graphics libraries like GTK, or Windows and Mac default theming to make it consistent with other OS apps and themeable by the user, if you can do that

  • source
  • hideshow 1 child comment
  • [–] 12 points 11 months ago (1 child)

    Would be really awesome if it could convert between .doc(x), .odt and .pdf .

  • source
  • hideshow 1 child comment
  • [–] 12 points 11 months ago (1 child)

    Looks simple enough. The choice of Godot for a UI library is an interesting one; how big is the program in the end?

    I would suggest being a bit more explicit about files: Which ones are in the working set; which one is currently being worked on, that sort of thing. Having a file list (even if it's hidden in a drawer or something) before starting the conversion helps the user verify that the correct files are being worked on. Seeing which file is currently being processed might be useful for troubleshooting or just to see how far along the process is.

  • source
  • hideshow 1 child comment
  • [–] [S] 11 points 11 months ago* (last edited 11 months ago)

    The choice of Godot for a UI library is an interesting one; how big is the program in the end?

    Not small but not huge either, the app itself will be within 25MB uncompressed (<10MB zipped) - but it doesn't matter that much since most of the file size will be the dependencies used to convert stuff. I have a blog post talking more about Godot for GUI apps if you're interested.

    The rest of the feedback is appreciated! I was just about to add some text showing which file was being converted when processing.

  • source
  • parent
  • [–] 8 points 11 months ago

    if you are looking to expand this, I think a fronted to pandoc to convert between text document types is also very needed.

  • source
  • [–] 6 points 11 months ago

    I like it so far! Looks like it would be easier to use for a good amount of people, and better than going to those sites each time.

  • source
  • [–] 11 points 11 months ago*

    I love you. That's my opinion.

    As for actual feedback, when saving/converting images I always require a preview or I'm just not going to use it; I find great satisfaction in carefully trial-and-erroring my way into the nicest image quality with the lowest file size.

  • source
  • [–] 5 points 11 months ago

    One of the tasks I find myself wanting to do all the time is clip my own gifs without having to use a whole dedicated app or busting out a video editor. I know it’s a lot more complex, but a system for doing basic video clipping would be amazing. I could be way off base, but I would think since you’re already using ffmpeg, maybe this isn’t too far of a stretch, but I understand if this is way beyond scope.

  • source
  • [–] 5 points 11 months ago (1 child)

    I recently came across https://vert.sh/ which is a we app and frontend for ffmpeg and imagemagick but all the processing is happening locally on your device (except videos I think).

    It's even open source: https://github.com/VERT-sh/VERT

  • source
  • hideshow 1 child comment
  • [–] 4 points 11 months ago (3 children)

    I want to convert a pdf into kilometres thanks

  • source
  • hideshow 3 child comments
  • [–] 4 points 11 months ago

    I like the look of this!

    My only suggestion would be to change the word delete to remove. Unless of course its function is in fact to delete the file from the HDD, but I assume it means to remove the file from the conversion process.

  • source
  • [–] 4 points 11 months ago

    @popcar2 Yes, try this abandoned repo, worked very well.github.com/swl-x/MystiQHope you like Qt

  • source
  • [–] 2 points 11 months ago (1 child)
    1. I think it would be better called a media file converter or something more specific like that, unless you actually intend on adding more types of file, like doc, odf, md, pdf etc.
    2. Interesting. I also made a little thingy for personal use, though it does literally call the ffmpeg CLI tool. Haven't even made an install configuration though, so you will just have to run it out of the build directory.
  • source
  • hideshow 1 child comment
  • [+] 2 points 11 months ago (1 child)
  • [–] [S] 3 points 11 months ago

    Your comment posted 3 times so I'm guessing there's something with your internet haha

    I'm still deciding how "serious" the project is going to be, but if all goes well I will definitely add support for other formats. I'm already looking at adding Pandoc for document conversions.

  • source
  • parent
  • [–] 2 points 11 months ago

    I'd love this, I think the biggest obstacle is beating the online converter sites on friction of use, but the automatic file type detection feels like a really good way to combat that

  • source
  • [–] 3 points 11 months ago*

    Godot? Wtf?

    Also,

    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.

    Idk Handbrake specifically, but generally when that kind of thing happens it's for a good reason. There are a lot of options when converting a video file, and you can't support them all without exposing that complexity in some form. If you don't think so, then you haven't done enough research into the problem space.

    With that said, a "dumbed down" version of Handbrake that is optimized for a single common use case could be useful. For example, re-encoding iPhone videos to minimize compression artifacts when sharing over Whatsapp could be useful to people. However, I don't think a desktop app is the most accessible implementation for that.

    EDIT: also, even if a desktop app was a good choice, it might be more practical to implement it as like a preset for Handbrake rather than a whole separate app. My mom isn't very tech literate, but I could probably teach her how to activate a preset (idk if Handbrake supports presets, but it probably does lol)

  • source
  • [–] 1 point 11 months ago

    I don't know if this can help for inspiration, but I use this tool for file conversion: Convertx It doesn't have a bulk mode.

  • source
  • [–] 1 point 11 months ago

    I would also say no your project is very welcome and love that you can do photos and videos at once!! Highly looking forward to it being released in future!!

    1. As another suggestion aside from my other comment it would be cool if we can set individually what each individual photo/video will convert too. Can be for future reworked version of this project. That would help a ton for batch work.

    2. Also, setup a Liberapay to get the most out of donations. Have the link in your app too somewhere so people can donate/see how much you make/how much more you need with a bar saying how much more is needed.

    3. A queue feature to queue multiple photos and videos to be converted then add more to the active queue whenever

    4. A customizeable template feature would be cool too for people who work with specific files a lot. For example setting it to auto convert PNG to JPG, or MP4 TO MP3, etc.

  • source