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
|