better opt control

This commit is contained in:
2024-04-18 08:33:18 -05:00
parent edfd1b0b0d
commit 5830de801f
2 changed files with 22 additions and 9 deletions

View File

@@ -106,14 +106,14 @@ do
elif [[ "$encoder" == "libsvtav1" ]] elif [[ "$encoder" == "libsvtav1" ]]
then then
PARAMS="-preset $preset -crf $crf -svtav1-params \ PARAMS="-preset $preset -crf $crf -svtav1-params \
scd=1:tune=0:enable-overlays=1:enable-hdr=1:fast-decode=1 " scd=1:tune=0:enable-overlays=1:enable-hdr=1:fast-decode=1:enable-variance-boost=1"
else else
PARAMS="" PARAMS=""
fi fi
# encode # encode
export TIMEFORMAT=%R export TIMEFORMAT=%R
FFMPEG_CMD="ffmpeg -i $INPUT_DIR/$input -c:a copy -c:v $encoder $PARAMS -pix_fmt yuv420p10le $OUTPUT" FFMPEG_CMD="ffmpeg -i $INPUT_DIR/$input -pix_fmt yuv420p10le -c:a copy -c:v $encoder $PARAMS $OUTPUT"
(time $FFMPEG_CMD) |& tee TIME (time $FFMPEG_CMD) |& tee TIME
TIME_DIFF="$(cat TIME | tail -n 1)" TIME_DIFF="$(cat TIME | tail -n 1)"
rm TIME rm TIME

View File

@@ -47,10 +47,15 @@ get_bitrate_audio() {
echo "$bitrate_cmd" echo "$bitrate_cmd"
} }
# between only 1-4 arguments
test "$#" -eq 0 && usage && exit 1 OPTS='i:p'
test "$#" -gt 4 && usage && exit 1 NUM_OPTS=$(echo $OPTS | tr ':' '\n' | wc -l)
while getopts "i:p" flag; do PRINT_OUT="false"
MIN_OPT=2
MAX_OPT=4
test "$#" -lt $MIN_OPT && usage && exit 1
test "$#" -gt $MAX_OPT && usage && exit 1
while getopts "$OPTS" flag; do
case "${flag}" in case "${flag}" in
i) i)
INPUT="${OPTARG}" INPUT="${OPTARG}"
@@ -66,13 +71,21 @@ while getopts "i:p" flag; do
done done
# allow optional output filename # allow optional output filename
if [[ "$PRINT_OUT" == "true" && "$#" -eq 4 ]]; if [[ "$#" -eq $MAX_OPT ]]; then
then
OUTPUT="${@: -1}" OUTPUT="${@: -1}"
else elif [[
("$PRINT_OUT" == "true") &&
( "$#" -eq 3)
]]; then
OUTPUT="${HOME}/av1_${INPUT}" OUTPUT="${HOME}/av1_${INPUT}"
elif [[ "$#" -eq 2 ]]; then
OUTPUT="${HOME}/av1_${INPUT}"
else
OUTPUT="${@: -1}"
fi fi
echo "INPUT: $INPUT, PRINT_OUT: $PRINT_OUT, OUTPUT: $OUTPUT"
encode encode
# encode "$@" # encode "$@"