Batch Converting Image Files: Difference between revisions

From Littledamien Wiki
Jump to navigation Jump to search
(Created page with "== `ffmpeg` == Use `ffmpeg`. If `ffmpeg` is not available on the command line, install with `brew install ffmpeg`. == Batch convert `webp` to `jpg` == <syntaxhighlight lang=bash> $ for i in *.webp; do ffmpeg -i "$i" "{i%.webp}.jpg"; done </syntaxhighlight> == Batch convert `png` to `jpg` and scaling images proportionally == The `scale=1024:-1` tells ffmpeg to scale the images to 1024 pixels wide. The height will be scaled proportionally. To scale to a consistent h...")
 
No edit summary
Line 1: Line 1:
== `ffmpeg` ==
== Converting file formats ==


Use `ffmpeg`.  
Use `ffmpeg`.  
Line 5: Line 5:
If `ffmpeg` is not available on the command line, install with `brew install ffmpeg`.
If `ffmpeg` is not available on the command line, install with `brew install ffmpeg`.


== Batch convert `webp` to `jpg` ==
=== Batch convert `webp` to `jpg` ===


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 11: Line 11:
</syntaxhighlight>
</syntaxhighlight>


== Batch convert `png` to `jpg` and scaling images proportionally ==
=== Batch convert `png` to `jpg` and scaling images proportionally ===


The `scale=1024:-1` tells ffmpeg to scale the images to 1024 pixels wide. The height will be scaled proportionally. To scale to a consistent height of 800 pixels, `scale=-1:800`.
The `scale=1024:-1` tells ffmpeg to scale the images to 1024 pixels wide. The height will be scaled proportionally. To scale to a consistent height of 800 pixels, `scale=-1:800`.
Line 17: Line 17:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
$ for i in *.png; do ffmpeg -i "$i" -vf scale=1024:-1 "converted/${i%.*}.jpg"; done
$ for i in *.png; do ffmpeg -i "$i" -vf scale=1024:-1 "converted/${i%.*}.jpg"; done
</syntaxhighlight>
== Batch renaming files ==
Use `rename` which can be installed with `brew install rename`.
In the following example, the `-n` option indicates "dry run" for testing purposes. The `-e` option indicates the regex pattern that should be applied.
<syntaxhighlight lang=bash>
$ for i in *.png; do rename -n -e 's/foo(\d\d)_/bar$1/g'; done
</syntaxhighlight>
</syntaxhighlight>

Revision as of 17:34, 26 April 2022

Converting file formats

Use ffmpeg.

If ffmpeg is not available on the command line, install with brew install ffmpeg.

Batch convert webp to jpg

$ for i in *.webp; do ffmpeg -i "$i" "{i%.webp}.jpg"; done

Batch convert png to jpg and scaling images proportionally

The scale=1024:-1 tells ffmpeg to scale the images to 1024 pixels wide. The height will be scaled proportionally. To scale to a consistent height of 800 pixels, scale=-1:800.

$ for i in *.png; do ffmpeg -i "$i" -vf scale=1024:-1 "converted/${i%.*}.jpg"; done

Batch renaming files

Use rename which can be installed with brew install rename.

In the following example, the -n option indicates "dry run" for testing purposes. The -e option indicates the regex pattern that should be applied.

$ for i in *.png; do rename -n -e 's/foo(\d\d)_/bar$1/g'; done