32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
|
|
#!/usr/bin/env fish
|
||
|
|
|
||
|
|
for filename in $argv
|
||
|
|
switch $filename
|
||
|
|
case '*.webp'
|
||
|
|
set -l basename (basename $filename)
|
||
|
|
set -l dirname (dirname $filename)
|
||
|
|
set -l rootname (echo $basename | string split -f 1 -m 1 -r .)
|
||
|
|
set targetname "$dirname/$rootname.png"
|
||
|
|
|
||
|
|
set attempt 0
|
||
|
|
while test $attempt -le 200
|
||
|
|
if test -f $targetname
|
||
|
|
set attempt (math $attempt + 1)
|
||
|
|
set targetname "$dirname/$rootname-$attempt.png"
|
||
|
|
continue
|
||
|
|
end
|
||
|
|
convert "$filename" "$targetname"
|
||
|
|
break
|
||
|
|
end
|
||
|
|
case '*.webm'
|
||
|
|
set -l basename (basename $filename)
|
||
|
|
set -l dirname (dirname $filename)
|
||
|
|
set -l rootname (echo $basename | string split -f 1 -m 1 -r .)
|
||
|
|
set -l targetname "$dirname/$rootname.mp4"
|
||
|
|
|
||
|
|
ffmpeg -i $filename -c:v libx264 -crf 24 $targetname
|
||
|
|
case '*'
|
||
|
|
echo "Neither webp nor webm, skipping."
|
||
|
|
end
|
||
|
|
end
|