update recc encode

This commit is contained in:
2024-12-26 15:40:42 -06:00
parent 68516b7eb4
commit 9e398b8a56

View File

@@ -53,7 +53,13 @@ get_bitrate_audio() {
for ((i = 0; i < NUM_AUDIO_STREAMS; i++)); do for ((i = 0; i < NUM_AUDIO_STREAMS; i++)); do
NUM_CHANNELS=$(ffprobe -v error -select_streams "a:$i" -show_entries stream=channels -of default=noprint_wrappers=1:nokey=1 "$INPUT") NUM_CHANNELS=$(ffprobe -v error -select_streams "a:$i" -show_entries stream=channels -of default=noprint_wrappers=1:nokey=1 "$INPUT")
BITRATE=$((NUM_CHANNELS * 64)) BITRATE=$((NUM_CHANNELS * 64))
BITRATE_CMD+="-b:a:$i ${BITRATE}k " CODEC_NAME="$(ffprobe -v error -select_streams "a:$i" -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$INPUT")"
# don't encode opus streams
if [[ "$CODEC_NAME" == 'opus' ]]; then
BITRATE_CMD+="-c:a:$i copy "
else
BITRATE_CMD+="-filter:a:$i 'aformat=channel_layouts=7.1|5.1|stereo|mono' -c:a:$i libopus -b:a:$i ${BITRATE}k "
fi
done done
echo "$BITRATE_CMD" echo "$BITRATE_CMD"
} }
@@ -94,14 +100,14 @@ encode() {
echo -e '#!/usr/bin/env bash\n' > "$ENCODE_FILE" echo -e '#!/usr/bin/env bash\n' > "$ENCODE_FILE"
echo "export OUTPUT=\"$OUTPUT\"" >> "$ENCODE_FILE" echo "export OUTPUT=\"$OUTPUT\"" >> "$ENCODE_FILE"
SVT_PARAMS="${GRAIN}sharpness=3:tune=3:enable-overlays=1:scd=1:fast-decode=1:enable-variance-boost=1:enable-qm=1:qm-min=0:qm-max=15" SVT_PARAMS="${GRAIN}sharpness=3:psy-rd=1:tune=3:enable-overlays=1:scd=1:fast-decode=1:enable-variance-boost=1:enable-qm=1:qm-min=0:qm-max=15"
echo "export SVT_PARAMS=\"$SVT_PARAMS\"" >> "$ENCODE_FILE" echo "export SVT_PARAMS=\"$SVT_PARAMS\"" >> "$ENCODE_FILE"
UNMAP=$(unmap_streams "$INPUT") UNMAP=$(unmap_streams "$INPUT")
echo "export UNMAP=\"$UNMAP\"" >> "$ENCODE_FILE" echo "export UNMAP=\"$UNMAP\"" >> "$ENCODE_FILE"
AUDIO_FORMAT='-af aformat=channel_layouts=7.1|5.1|stereo|mono -c:a libopus' # AUDIO_FORMAT='-af aformat=channel_layouts=7.1|5.1|stereo|mono'
echo "export AUDIO_FORMAT='$AUDIO_FORMAT'" >> "$ENCODE_FILE" # echo "export AUDIO_FORMAT='$AUDIO_FORMAT'" >> "$ENCODE_FILE"
AUDIO_BITRATE=$(get_bitrate_audio "$INPUT") AUDIO_BITRATE=$(get_bitrate_audio "$INPUT")
echo "export AUDIO_BITRATE=\"$AUDIO_BITRATE\"" >> "$ENCODE_FILE" echo "export AUDIO_BITRATE=\"$AUDIO_BITRATE\"" >> "$ENCODE_FILE"