32 lines
1.1 KiB
Fish
Executable File
32 lines
1.1 KiB
Fish
Executable File
#!/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
|