54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
MAX_WIDTH=960
|
|
MAX_HEIGHT=540
|
|
|
|
|
|
date
|
|
export IFS=$'\n';
|
|
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
|
|
do
|
|
|
|
filename=`echo ${i:2}`
|
|
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
|
|
fn_noext=`basename "${filename}" $ext`
|
|
if [ $ext == ".mp4" ]; then
|
|
ext=`echo "_mobile.mp4"`
|
|
else
|
|
ext=`echo "_mobile.mp4"`
|
|
fi
|
|
|
|
echo "Will convert to: ${fn_noext}${ext}";
|
|
|
|
done
|
|
echo " "
|
|
echo " "
|
|
|
|
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
|
|
do
|
|
|
|
filename=`echo ${i:2}`
|
|
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
|
|
fn_noext=`basename "${filename}" $ext`
|
|
if [ $ext == ".mp4" ]; then
|
|
ext=`echo "_mobile.mp4"`
|
|
else
|
|
ext=`echo "_mobile.mp4"`
|
|
fi
|
|
|
|
bitrate=`ffmpeg -i ${i:2} 2>&1 | egrep 'Video:' | grep -Po '[[:digit:]]+ kb/s' | cut -d ' ' -f 1`
|
|
echo "Found bitrate: ${bitrate} kb/s";
|
|
if [ "${bitrate}" == "0" ] || [ -z ${bitrate} ]; then
|
|
bitrate=`echo "2700"`
|
|
fi
|
|
|
|
echo "--> Final bitrate: ${bitrate} kb/s";
|
|
|
|
echo "Resizing: ${i:2} ";\
|
|
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v ${bitrate}k \
|
|
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
|
|
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 160k -f mp4 -g 30 -y ${fn_noext}${ext}
|
|
date
|
|
done
|
|
|
|
|