22 lines
		
	
	
		
			624 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			624 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
if [ $# -ne 3 ]; then
 | 
						|
    echo -e "\033[31;1merror:\033[0m this script expects three arguments, the file, the starting time and the duration."
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
if [ ! -f "$1" ]; then
 | 
						|
    echo -e "\033[31;1merror:\033[0m couldn't open $1: no such file."
 | 
						|
    exit
 | 
						|
fi
 | 
						|
 | 
						|
palette_dir=$(mktemp -d)
 | 
						|
 | 
						|
ffmpeg -y -ss $2 -t $3 -i $1 \
 | 
						|
    -vf fps=30,scale=320:-1:flags=lanczos,palettegen $palette_dir/palette.png > /dev/null 2>&1
 | 
						|
 | 
						|
ffmpeg -ss $2 -t $3 -i $1 -i $palette_dir/palette.png -filter_complex \
 | 
						|
    "fps=30,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" -y output.gif > /dev/null 2>&1
 | 
						|
 | 
						|
rm -rf $palette_dir
 |