pv-test, fix bugs to the point of having ffmpeg successfully running now.

This commit is contained in:
me
2026-09-08 08:45:04 -07:00
parent bb08f1ef94
commit c3afb3fcf8
+21 -14
View File
@@ -782,12 +782,12 @@ function pv-test {
typeset -u normalize_in typeset -u normalize_in
read -p "Would you like to normalize the audio? (Y/n) " normalize_in read -p "Would you like to normalize the audio? (Y/n) " normalize_in
if [[ $normalize_in != "N"* && $normalize_in != "F"* ]]; then if [[ $normalize_in != "N"* && $normalize_in != "F"* ]]; then
normalize='-filter:a "dynaudnorm=f=33:g=65:p=0.66:m=33.3"' normalize="-filter:a dynaudnorm=f=33:g=65:p=0.66:m=33.3"
fi fi
typeset -i size_in typeset -i size_in
read -p "What display ratio would you like to use? (720) " size_in read -p "What display ratio would you like to use? (720) " size_in
if [[ -z "$size_in" ]]; then if (( $size_in == 0 )); then
echo "Size not set, assuming 720." echo "Size not set, assuming 720."
size_in=720 size_in=720
fi fi
@@ -795,40 +795,47 @@ function pv-test {
typeset -u okay typeset -u okay
echo "* Testing with '$filename_in'" echo "* Testing with '$filename_in'"
echo "* Normalize set to '$normalize'" echo "* Normalize set to '$normalize'"
echo "* Size set to '$size'" echo "* Size set to '$size_in'"
read -p "Look okay? (Y/n) " okay read -p "Look okay? (Y/n) " okay
if [[ "$okay" == "N" || "$okay" == "F"* ]]; then if [[ "$okay" == "N" || "$okay" == "F"* ]]; then
echo "Not okay, aborting." echo "* Not okay, aborting."
exit 1 return 1
fi fi
echo "libx264 libsvtav1 libx265" | while read vcodec; do for vcodec in libx264 libsvtav1 libx265; do
#echo "3 4 5" | while read vpreset; do #echo "3 4 5" | while read vpreset; do
#echo "25 28 32" | while read crf; do #echo "25 28 32" | while read crf; do
echo "1500k 2000k 2500k" | while read vbr; do for vbr in 1500k 2000k 2500k; do
echo "aac opus" | while read acodec; do for acodec in aac opus; do
echo "192k 128k" | while read abr; do for abr in 192k 128k; do
echo "mp4 mkv" | while read ext; do for ext in mp4 mkv; do
#newfile="_$vcodec-p$vpreset-$crf_$acodec-$abr.$ext" #newfile="_$vcodec-p$vpreset-$crf_$acodec-$abr.$ext"
newfile="_$vcodec-$vbr_$acodec-$abr.$ext" newfile="_$size_in_$vcodec-$vbr_$acodec-$abr.$ext"
start=$SECONDS start=$SECONDS
echo -e "\n* Starting new run...\n"
echo -e "Parameters for this run: $newfile\n"
set -x
# -preset $vpreset -crf $crf \ # -preset $vpreset -crf $crf \
ffmpeg -nostdin \ ffmpeg -nostdin \
-i "$filename_in" \ -i "$filename_in" \
-filter:v scale=-1:$size_in \ -filter:v scale=-1:$size_in \
-c:v $vcodec \ -c:v $vcodec \
-b:v $vbr -minrate 0 -maxrate $vbr -bufsize $vbr \ -b:v $vbr -minrate 0 -maxrate $vbr -bufsize $vbr \
-c:a $audio \ -c:a $acodec \
-b:a $abr \ -b:a $abr \
$normalize \ $normalize \
-movflags +faststart \ -movflags +faststart \
"$newfile" "$newfile"
set +x
finish=$SECONDS finish=$SECONDS
minutes=$(( (finish - start) / 60 )) minutes=$(( (finish - start) / 60 ))
printf "%03d" "$minutes" -v padded_mins printf -v padded_mins "%03d" "$minutes"
mv "$newfile" "`fn`_${minutes}m$newfile" mv -v "$newfile" "`fn`_${minutes}m$newfile"
echo -e "\n* Finished run in $minutes minutes!\n"
done done
done done
done done