#!/bin/bash # complain if no input file given if [ $# -lt 1 ]; then >&2 echo "usage: $0 " 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