2023-05-27 22:18:48 +02:00
|
|
|
#!/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)
|
2023-05-28 16:18:44 +02:00
|
|
|
set targetname "$dirname/$rootname ($attempt).png"
|
2023-05-27 22:18:48 +02:00
|
|
|
continue
|
|
|
|
|
end
|
2023-05-28 16:18:44 +02:00
|
|
|
convert $filename $targetname
|
2023-05-27 22:18:48 +02:00
|
|
|
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"
|
|
|
|
|
|
2023-05-28 16:18:44 +02:00
|
|
|
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
|
|
|
|
|
|
2023-05-28 16:23:48 +02:00
|
|
|
ffmpeg -i $filename -c:v libx264 -crf 24 $targetname
|
2023-05-28 16:18:44 +02:00
|
|
|
break
|
|
|
|
|
end
|
2023-05-27 22:18:48 +02:00
|
|
|
case '*'
|
|
|
|
|
echo "Neither webp nor webm, skipping."
|
|
|
|
|
end
|
|
|
|
|
end
|