Jpegloop: Difference between revisions
No edit summary |
|||
Line 25: | Line 25: | ||
== Fixing the filenames (zero padding with printf) == | == Fixing the filenames (zero padding with printf) == | ||
$() means "command substitution" -- or do what's inside the parentheses and then substitute the result | printf can be used to "zero-pad" a number (ie make a good filename from a counting number) | ||
printf "%03d" 7 | |||
outputs: | |||
007 | |||
$() means "command substitution" -- or do what's inside the parentheses and then substitute the result. This can be used to store the result of running printf in a variable (to then use again) | |||
<source lang="bash"> | <source lang="bash"> |
Revision as of 15:50, 4 March 2013
Counting up
for ((i=1;i<=100;i++))
do
echo $i
done
Counting down
for ((i=1;i<=100;i++))
do
echo $i
done
Doing something
for ((i=1;i<=10;i++))
do
convert original.jpg -quality $i output$i.jpg
done
Fixing the filenames (zero padding with printf)
printf can be used to "zero-pad" a number (ie make a good filename from a counting number)
printf "%03d" 7
outputs:
007
$() means "command substitution" -- or do what's inside the parentheses and then substitute the result. This can be used to store the result of running printf in a variable (to then use again)
for ((i=1;i<=10;i++))
do
name=$(printf "%03d\n" $i)
convert original.jpg -quality $i output$name.jpg
done
Basic Loop
cp $j lastframe.jpg
for ((i=100;i>=1;i--))
do
name=$(printf "%03d\n" $((100-i)))
convert lastframe.jpg -quality $i output$name.jpg
cp output$name.jpg lastframe.jpg
done
ffmpeg -f image2 -i output%03d.jpg -r 10 $j.mp4
Apply to a directory of files
#!/bin/bash
for j
do
cp $j lastframe.jpg
for ((i=100;i>=1;i--))
do
name=$(printf "%03d\n" $((100-i)))
convert lastframe.jpg -quality $i output$name.jpg
# COPY THE CURRENT TO "lastframe.jpg"
cp output$name.jpg lastframe.jpg
done
ffmpeg -f image2 -i output%03d.jpg -r 10 $j.mp4
done