Archived
1
0
Fork 0

First Version

This commit is contained in:
Findus23 2015-10-28 20:38:35 +01:00
commit 2c8f2ebce5

40
thumbnail.sh Executable file
View file

@ -0,0 +1,40 @@
#!/bin/bash
inputfile=$1
mode=$2
setting=$3
tile=$4
if [ ! -f "$inputfile" ]
then
echo "$(tput setaf 1)no input file$(tput sgr0)"
exit 1
fi
outputfile=${inputfile%.*}.jpg # without file type
if [ -z "$tile" ]
then
tile="3x3"
fi
if [ "$mode" == "best" ]
then
if [ -z "$setting" ] || (( $setting < 50 ))
then
setting="800"
echo "$(tput setaf 2)using default number of frames to analyse: $(tput setaf 3)$setting$(tput sgr0)"
fi
ffmpeg -y -i $inputfile -vsync 0 -vf "thumbnail=$setting,tile=$tile" -frames:v 1 $outputfile
elif [ "$mode" == "fast" ]
then
if [ -z "$setting" ] || (( $setting < 1 ))
then
setting="120" #min seconds between keyframes
echo "$(tput setaf 2)using default seconds between keyframes: $(tput setaf 3)$setting$(tput sgr0)"
fi
ffmpeg -y -i $inputfile -vsync 0 -vf select="eq(pict_type\,I)*(isnan(prev_selected_t)+gte(t-prev_selected_t\,$setting))",tile=$tile -frames:v 1 $outputfile
else
echo "$(tput setaf 1)invalid mode$(tput sgr0)"
echo "use \"best\" or \"fast\""
exit 1
fi