this post was submitted on 25 Sep 2023
17 points (100.0% liked)

Asklemmy

1452 readers
78 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_A@discuss.tchncs.de~

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
[โ€“] zurohki@aussie.zone 13 points 1 year ago (1 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.

[โ€“] gonzoknowsdotcom1@monero.town 2 points 1 year ago* (last edited 1 year ago) (1 children)

Thank you for this! I will test it out

Do you have an example?

[โ€“] zurohki@aussie.zone 4 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.