Batch Converting Image Files: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Tag: wikieditor |
||
| Line 9: | Line 9: | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
$ for i in *.webp; do ffmpeg -i "$i" "{i%.webp}.jpg"; done | $ for i in *.webp; do ffmpeg -i "$i" "{i%.webp}.jpg"; done | ||
</syntaxhighlight> | |||
Find and convert webp files recursively: | |||
<syntaxhighlight lang=bash> | |||
$ find . -iname '*.webp' -exec bash -c 'ffmpeg -y -i "$1" "${1%.*}.jpg"' _ {} \; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 13:52, 24 September 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
Find and convert webp files recursively:
$ find . -iname '*.webp' -exec bash -c 'ffmpeg -y -i "$1" "${1%.*}.jpg"' _ {} \;
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