I made an open source image and video converter
Posted by cenkerc@reddit | linux | View on Reddit | 88 comments
i made a simple file converter for batch processing images and videos. it's built on ffmpeg and imagemagick with a pyside6 interface. you can drag and drop files or folders, convert between different formats, adjust quality settings like bitrate and resolution for videos, resize and convert images to different formats. it also treats gifs as videos to compress them better and shows you how much space you saved. works on linux and windows, available as appimage or exe. wrote it because i was tired of converting files one by one and wanted something straightforward. it's open source under mit license.
shubham_devNow@reddit
This is really clean for something built on ffmpeg + imagemagick. I like the batch processing angle, that’s honestly the biggest pain point.
I’ve been using a browser-based tool lately (FileReadyNow’s video converter) when I don’t want to install anything, but having an open source desktop option like this is super nice. Especially for Linux users.
keeplessprofile@reddit
Any plans to add a file size limiter?
cenkerc@reddit (OP)
what do you mean?
keeplessprofile@reddit
Like limiting the max amount of mb the outputted video has similar to other converters instead of guessing with bitrate and what not.
Seems like a long shot considering the only one that has it is shutter enconder
cenkerc@reddit (OP)
This idea had crossed my mind, but I couldn’t figure out how to do it. I’ll do some research.
SagariKatu@reddit
Looks interesting. Is there a chance you add a tab for audio files?
cenkerc@reddit (OP)
I added sound converter
cenkerc@reddit (OP)
Yes I was thinking about it. Which settings do you want?
SagariKatu@reddit
I guess just codec and container. My collection is in flac, but the car doesn't read that, so I convert files to opus or ogg. I don't have a very complicated use case...
__rituraj@reddit
nice. does it handle gpu acceleration command automatically by detectibg the GPU present and querying its capabilities?
i keep a note ready just in case I forget the conversion params that ensure hardware acceleration is used for my gpu.
cenkerc@reddit (OP)
I added hardware accleration but needs fix. It is buggy now
cenkerc@reddit (OP)
ops I forgot that part :D
2rad0@reddit
There is a website I use with the same type of gigantic "drag files here" area. When you click on it, an open file dialog is activated.
cenkerc@reddit (OP)
so you expect same thing as user right? or not
2rad0@reddit
I mention it because I always think about fallback options for critical functionality when possible, to remain functional in the most difficult environments. There are 2 problems I can quickly come up with for a program that doesnt provide an open file dialog.
Sometimes due to external factors (sandboxing) drag and drop functionality might not be working, but the filesystem is still available as a fallback. Secondly, maybe something has broken with the 3'rd party file manager program that this program would completely depend on if an open file dialog were absent.
If a user cares about these potential difficulties or may ever encounter them is a different issue and completely up to you, I don't expecting anything just wanted to comment on a new (to me) design trend I've now noticed.
cenkerc@reddit (OP)
makes sense. i'll add a file dialog button as a fallback option. you're right about sandboxing and some environments where drag and drop might not work properly. shouldn't be hard to implement, just another button next to the drag area that opens the file picker. thanks for the feedback
June_Berries@reddit
I don’t think an extra button is necessary. The typical UX is clicking on the drag area
cenkerc@reddit (OP)
I added file dialog
BiggieCheeseFan88@reddit
no AI color gradients or agentic experiences?
Alternative_Most8990@reddit
Could you possibly add HEIC to the images conversion list too?
cenkerc@reddit (OP)
I think heic need to be compiled with ffmpeg because of license. I can use another library but I dont know which library I should use that would fit with the project. The project is mit licensed.
OxOOO1@reddit
+
Escalope-Nixiews@reddit
Hey! First of all, app looks good! Could you possibly make a web version? Not forcing you, just too lazy to make one myself for my browser. And i'll surely try the app because i hate FFMPEG commands!
__rituraj@reddit
need proper revenue model for a web based version though.
running ffmpeg commands to convert video will require powerful hardware on the server.
OPs approach os much more simpler.. your own hardware is used to convert your videos.. thus the app can remain free.
catbrane@reddit
Most of the converter websites use ffmpeg compiled to web assembly, so they run locally too. Eg.:
https://github.com/dinoosauro/ffmpeg-web
Farados55@reddit
Or if you can, run it in the browser with WebAssembly
__rituraj@reddit
can we run programs on users system from web assembly??
I dont think so.
cenkerc@reddit (OP)
i don't really know how to run python stuff on web but maybe if it runs locally without upload/download it could work. honestly i don't want to deal with hosting a server and all that stuff but it could be a static website
Alan_Reddit_M@reddit
You can't
Wonderful-Citron-678@reddit
Browsers can’t access local files in a great way so it’s not possible without a server.
cenkerc@reddit (OP)
Then I will not make web version
Particular_Act3945@reddit
This seems to actually be something I've been looking for, thanks op. I'll give it a spin later.
SingingCoyote13@reddit
ty
Matilde_di_Canossa@reddit
Neat. 👍
MatchingTurret@reddit
https://handbrake.fr/
Normal_Usual7367@reddit
“Yet another open file converter”
cenkerc@reddit (OP)
I thought it was obvious
Normal_Usual7367@reddit
Its always the top 1% commentators
Matilde_di_Canossa@reddit
💯
exeis-maxus@reddit
Handbrake was funky to build from source. Hopefully yours is not 🤞
cenkerc@reddit (OP)
just run the build_appimage.sh
exeis-maxus@reddit
I don’t use appimages… 😅, I build from source, think LFS
IrrerPolterer@reddit
Looks inside: FFMPEG
ILikeBumblebees@reddit
No, you didn't make an open-source image and video converter. You made a graphical frontend to an open-source image and video converter that other people already made.
hpxvzhjfgb@reddit
this. I'm sick of seeing so many "fake" projects nowadays.
cenkerc@reddit (OP)
Yes sherlock you are right
hpxvzhjfgb@reddit
no you didn't. you made a front-end for somebody else's open source image and video converter.
RexSonic@reddit
https://vert.sh/
acceptable_humor69@reddit
The fact that this abbreviates to ya ofc (like yeah ofcourse) gives the same energy as the name of the app.
cenkerc@reddit (OP)
I just noticed the coincidence :D sounds good
SillyBrilliant4922@reddit
Is this an actual converter or just a front-end to ffmpeg?
cenkerc@reddit (OP)
ffmpeg imagemagick ffprobe
purefan@reddit
Good! 🫡 thank you for your service
SillyBrilliant4922@reddit
Thank you for your contributions to OS world :)
AfraidAsparagus6644@reddit
> it's built on ffmpeg and imagemagick
PolRP@reddit
I LOVE YOU SO MUCH
cenkerc@reddit (OP)
Aaaaaaaaaaaaaaaaaa
Fun_Soft_2500@reddit
Or just use ffmpwg directly instead....
dumbasPL@reddit
Let me guess, the 4635th ffmpeg GUI wrapper.
cenkerc@reddit (OP)
yes sir
dumbasPL@reddit
Bruh. I feel like at this point people are just making new ones because we have so many of them that making a new one takes less time than finding a good one.
Alan_Reddit_M@reddit
"There are now 14 competing implementations"
marwanblgddb@reddit
Was working on building one because all the ones I found were not good enough neither 😅
AfraidAsparagus6644@reddit
Believe it or not, I have searched for a multi-format converter before, and this is the first one I find satisfactory. Searching for software can be tricky
cenkerc@reddit (OP)
Did you search on reddit
cenkerc@reddit (OP)
yes and I can add sound converter to the app because of that
CobaltOne@reddit
Oh, this is nice! I've given up trying to master ffmpeg, so I usually go to ezgif.com. It's very very good, but I much prefer a native app. Thank you!
cenkerc@reddit (OP)
I wish the app have featues as much as ezgif :) maybe one day
AfraidAsparagus6644@reddit
I love it, thank you for your great work!!
cenkerc@reddit (OP)
Stop it you’re making me blush 😊
LuisE3Oliveira@reddit
Now make a QT version
cenkerc@reddit (OP)
why
LuisE3Oliveira@reddit
I'm just kidding, it's just because I don't use a gnome-based distro haha."
cenkerc@reddit (OP)
It already runs on qt through pyside6 so you're covered. can you the appimage on your distro?
LuisE3Oliveira@reddit
Yep
MrHyd3_@reddit
Wait, this isn't complete AI slop!? The world is healing!
deadlygaming11@reddit
Thats good. So much stuff posted here has been vibe coded junk
doc_willis@reddit
feature request:
(but I have not yet tried your tool)
been trying to locate a tool where I can give it a video file, have the tool scan and determine info about that file, Then have it determine what specific options are needed for converting other files to match the codec and fps and other of the first file.
use case..
grandson has a cheap video player/radio and it has some example videos included that look great, I just can't seem convert the huge cartoon collection I have of random codecs and sizes to match the example videos.
I can get them playing for the most part but I am missing something to get them to look and sound right.
cenkerc@reddit (OP)
interesting idea. so basically you want to analyze a reference video and then batch convert other videos to match its exact specs (codec, fps, resolution, bitrate etc)?
doc_willis@reddit
yes.
Superok211@reddit
But handbrake also can do batch operations. Or it wasn't straightforward enough for you?
cenkerc@reddit (OP)
yeah handbrake can do batch but i wanted something simpler. i was inspired by https://soundconverter.org/ and wanted a more straightforward interface. also needed some specific options like grayscale conversion and choosing whether to keep or remove metadata that i couldn't find easily in other tools
MattyGWS@reddit
Think you’ll be able to get this to convert the image format Apples iPhones use? I only ask because I recently backed up my iCloud of 20,000 photos in the hopes of backing out of the Apple ecosystem, it going to be a hell of a time converting them all from heic to jpegs or pngs lol
just_here_for_place@reddit
Why would you even want to convert them? If you convert them to JPEG, you're converting from one lossy format to an even lossier one. When you convert to PNG you blow up the file size.
Just keep them in HEIC, Linux supports it just fine.
cenkerc@reddit (OP)
yeah apple formats can be added. ffmpeg and imagemagick both support heic/heif so it should work fine. i'll look into adding them to the format list but I cant build for mac ecosystem I dont have a device for it
just_here_for_place@reddit
It’s not an Apple-specific format.
cenkerc@reddit (OP)
ah I didnt know.
Great-TeacherOnizuka@reddit
You mean HEIF?