From 2c8f2ebce5aa304c220930d276fcb9c207a25c3c Mon Sep 17 00:00:00 2001 From: Findus23 Date: Wed, 28 Oct 2015 20:38:35 +0100 Subject: [PATCH] First Version --- thumbnail.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 thumbnail.sh diff --git a/thumbnail.sh b/thumbnail.sh new file mode 100755 index 0000000..a7cb385 --- /dev/null +++ b/thumbnail.sh @@ -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