First of all: Thank you for taking the time to read this and provide some help. Any advices are appreciated.
I am using Nautilus-Actions in order to add a custom context menu's action in order to create a copy of a JPG image and reduce its quality (and the file size) while preserving the image's dimensions.
Let's say: I have this picture with picture's properties as for 2.3 MB (2 261 588 bytes) file size and:
And, after opening the file in GIMP 2.8 in order to just export a copy and use the JPG Export dialogue box to reduce the quality of the image to 30% as shown in the next screen shot:
I get the next picture's properties in the image's copy (251.8 kB (251 797 bytes) file size):
I am using Nautilus Actions in order to batch process a lot of images in order to reproduce the same behaviour via context menu by selecting a bunch of files in Nautilus, right click on any of these selected files, and choose the proper Nautilus Actions action. The result is a file containing the image in the same dimensions as the original, with less quality of course and the file size is a bit greater (275.3 kB (275 265 bytes) file size) but that's not a major problem for me.
Is happening when I try to batch process several image files, which results in the first file name cloned into several file names containing a different image each one. With the properties I set in the next set of commands:
Basically, each Nautilus Action is using the next parameters:
- From (imagemagick)
%F.jpg -quality 80%% %F-80q.jpg
- Which is interpreted as:
convert path/to/file1.mid.jpg -quality=80% path/to/file1.mid-80q.jpg
- Explained itself.
So, the results can be seen in this screen shot:
Here we can see each image processed in a different file but just the first file name is used to assign the new names to the copied files. I wish a result like:
File1.jpg === File1-80q.jpg File2.jpg === File2-80q.jpg File3.jpg === File3-80q.jpg File4.jpg === File4-80q.jpg
And so on...
I have used Phatch to do such tasks but what I wish is just a right click on the selected files and process in a single action.
Is it there a better way to do this? or... Can I improve in some way what I am doing already?
Thank you very much for your support.
P.S. I have seen How can I batch convert images to b/w while preserving the folder structure and Is there a way to batch export SVGs to PNGs? but I am not trying to run this from a terminal but from a context menu. If I am omitting something in this exercise don't hesitate to let me know! I'll appreciate it a lot. Thank you!
After using muru's answer I find that solution partially does what I expect.
More specifically it solves the file names problem. Nevertheless, I also expected to get smaller file sizes by running the proper
convert file.jpg -quality 30% command and it is dropping bigger file sizes as you can see in the next image:
Does anyone know if there's something else I should add to the parameters seen in muru's answer ? I appreciate a lot your efforts to provide help on this issue.
I am writing this just to let people know I have seen where it was the problem with the compression. The file I was trying to compress was already been enough compressed so (as mentioned in muru's answer):
The process was just adding overhead without gaining anything.