17 lines
602 B
Bash
Executable File
17 lines
602 B
Bash
Executable File
#!/bin/bash
|
|
NAME=$1
|
|
START=$2
|
|
# If duration is unset, use the full length of the video
|
|
if [[ $3 ]]; then
|
|
END=$3
|
|
else
|
|
END=$(ffprobe -loglevel error -show_streams $NAME | grep duration\= | cut -f2 -d=)
|
|
fi
|
|
END=$(echo -n $END | cut -d ' ' -f 1)
|
|
echo $END
|
|
echo "Making a gif of $NAME from $START seconds to $END seconds"
|
|
|
|
ffmpeg -y -ss $START -t $END -i $NAME -vf fps=24,scale=640:-1:flags=lanczos,palettegen temp_palette.png
|
|
ffmpeg -i $NAME -i temp_palette.png -ss $START -t $END -pix_fmt rgb24 -filter_complex "fps=12,scale=640:-1:flags=lanczos[x];[x][1:v]paletteuse" $NAME.gif
|
|
rm temp_palette.png
|