mirror of
https://github.com/levogevo/ffmpeg-av1-builder.git
synced 2026-01-15 16:56:18 +00:00
better opt control
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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 "$@"
|
||||||
|
|||||||
Reference in New Issue
Block a user