From c3afb3fcf8fa4e4f318696bdcf1489254fa6451e Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 8 Sep 2026 08:45:04 -0700 Subject: [PATCH] pv-test, fix bugs to the point of having ffmpeg successfully running now. --- rc_shared.sh | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/rc_shared.sh b/rc_shared.sh index 54a5871..0285552 100644 --- a/rc_shared.sh +++ b/rc_shared.sh @@ -782,12 +782,12 @@ function pv-test { typeset -u normalize_in read -p "Would you like to normalize the audio? (Y/n) " normalize_in 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 typeset -i 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." size_in=720 fi @@ -795,40 +795,47 @@ function pv-test { typeset -u okay echo "* Testing with '$filename_in'" echo "* Normalize set to '$normalize'" - echo "* Size set to '$size'" + echo "* Size set to '$size_in'" read -p "Look okay? (Y/n) " okay if [[ "$okay" == "N" || "$okay" == "F"* ]]; then - echo "Not okay, aborting." - exit 1 + echo "* Not okay, aborting." + return 1 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 "25 28 32" | while read crf; do - echo "1500k 2000k 2500k" | while read vbr; do - echo "aac opus" | while read acodec; do - echo "192k 128k" | while read abr; do - echo "mp4 mkv" | while read ext; do + for vbr in 1500k 2000k 2500k; do + for acodec in aac opus; do + for abr in 192k 128k; do + for ext in mp4 mkv; do #newfile="_$vcodec-p$vpreset-$crf_$acodec-$abr.$ext" - newfile="_$vcodec-$vbr_$acodec-$abr.$ext" + newfile="_$size_in_$vcodec-$vbr_$acodec-$abr.$ext" start=$SECONDS + echo -e "\n* Starting new run...\n" + echo -e "Parameters for this run: $newfile\n" + + set -x # -preset $vpreset -crf $crf \ ffmpeg -nostdin \ -i "$filename_in" \ -filter:v scale=-1:$size_in \ -c:v $vcodec \ -b:v $vbr -minrate 0 -maxrate $vbr -bufsize $vbr \ - -c:a $audio \ + -c:a $acodec \ -b:a $abr \ $normalize \ -movflags +faststart \ "$newfile" + set +x finish=$SECONDS minutes=$(( (finish - start) / 60 )) - printf "%03d" "$minutes" -v padded_mins - mv "$newfile" "`fn`_${minutes}m$newfile" + printf -v padded_mins "%03d" "$minutes" + mv -v "$newfile" "`fn`_${minutes}m$newfile" + + echo -e "\n* Finished run in $minutes minutes!\n" done done done