this post was submitted on 25 Sep 2023
23 points (96.0% liked)

Asklemmy

43992 readers
977 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
 

Issue - I have 282 .CR2(raw) photos that need to be converted in batch/mass to same time but don't know how. OS - Vanilla OS 22.10 (Ubuntu)

  • Can this be done with darktable? If so how?
  • Any software recommendations for this? I rather not use online tools for privacy and compression reasons.
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 19 points 1 year ago (2 children)

With GNU Parallel and Imagemagick installed, this command should do it:

parallel convert {} {.}.jpg ::: *.cr2

As always, backup your files before you run things some internet rando gave you.

[โ€“] [email protected] 3 points 1 year ago (1 children)

Check out mogrify. I think it's installed standard with ImageMagick, and it does wildcard conversions.

[โ€“] [email protected] 1 points 1 year ago (1 children)

Can mogrify do format conversion? I thought it was for editing images. It doesn't even seem to have a way to specify input and output filenames.

[โ€“] [email protected] 1 points 1 year ago

Yes. I've used it to batch convert PNG and jpg to webp.

[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago) (2 children)

Thank you for this! I will test it out

Do you have an example?

[โ€“] [email protected] 5 points 1 year ago* (last edited 1 year ago)

I'm not sure what you're asking for. That's the command. Unless you meant an explanation?

The basic command is convert filename.cr2 filename.jpg.

That parallel command runs the convert command on all of the .cr2 files in the current directory, running a bunch of them simultaneously. {} is replaced with the name of a file, and {.} is replaced with the filename without the extension.

https://www.gnu.org/software/parallel/parallel_examples.html

If you didn't want to use parallel and are okay with it slowly converting one file at a time, you can just use a for loop:

for file in *.cr2 ; do
  convert $file ${file%.cr2}.jpg
done

That one uses some Bash variable magic to remove the .cr2 and add .jpg to the file name of the output file.

convert is smart enough that you can just give it an output name ending in .jpg and it knows it should convert the input file to JPEG.

[โ€“] [email protected] 4 points 1 year ago

Example? They gave you the exact thing to run.