Files
shellfiles/bin/wsl/ffrotate90ccw-resize.sh
2026-01-19 21:36:25 -05:00

46 lines
1.5 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 "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
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 rotate and 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 "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
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 "Flipping: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
-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" \
-vf "transpose=2" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done