33 lines
		
	
	
	
		
			674 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
	
		
			674 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# complain if no input file given
							 | 
						||
| 
								 | 
							
								if [ $# -lt 1 ]; then
							 | 
						||
| 
								 | 
							
								    >&2 echo "usage: $0 <input_file>"
							 | 
						||
| 
								 | 
							
								    exit 1
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# get input video name
							 | 
						||
| 
								 | 
							
								input="${1}"
							 | 
						||
| 
								 | 
							
								shift 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# without file extension
							 | 
						||
| 
								 | 
							
								output_base="${input%.*}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# common video resolutions
							 | 
						||
| 
								 | 
							
								heights=(240 360 480)
							 | 
						||
| 
								 | 
							
								widths=(426 640 854)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# just a quick-and-dirty loop
							 | 
						||
| 
								 | 
							
								for index in $(seq 0 2); do
							 | 
						||
| 
								 | 
							
								    height="${heights[$index]}"
							 | 
						||
| 
								 | 
							
								    width="${widths[$index]}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # actual conversion
							 | 
						||
| 
								 | 
							
								    ffmpeg -i "${input}" \
							 | 
						||
| 
								 | 
							
								        -acodec aac -vcodec h264 \
							 | 
						||
| 
								 | 
							
								        -vf "scale=w=${width}:h=${height}:force_original_aspect_ratio=decrease,pad=${width}:${height}:(ow-iw)/2:(oh-ih)/2" \
							 | 
						||
| 
								 | 
							
								        "${output_base}_${height}.mp4"
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exit 0
							 |