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" ]]
then
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
PARAMS=""
fi
# encode
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_DIFF="$(cat TIME | tail -n 1)"
rm TIME

View File

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