Могу ли я повторно использовать 2-х проходные журналы?
То есть: я выполняю , но мне интересно, должен ли я делать это. ie: -pass 1, который имел разные параметры crf / b: v из -pass 2 output, дает те же результаты, что и всегда уникальное кодирование обоих проходов для каждого входа? У меня такое чувство, что мне не следует повторно использовать pass1.
Скажем, я делаю тесты, и для одного и того же входного файла создаю несколько выходных сигналов за 2 прохода с различными вариантами ограничения битрейта / crf ...
Например:
с ограничениямиQ-br9M-crf12.webm
с ограничениямиQ-br12M-crf18.webm
с ограничениямиQ-br14M-crf18.webm
constrainedQ-br16M-crf18.webm
Можно ли обнаружить предыдущий файл журнала, проверить, что он был создан для того же входного файла, и повторно использовать его, пропустив -pass 1 для последующего оказывает? (в этом случае ffmpeg находит существующий журнал и, по-видимому, использует его для прохода 2)
или
Должен ли я заново генерировать журнал прохода 1 при изменении битрейта или crf?
[редактировать] каждый любит немного кода контекста
f_rm2passFilesVP9() {
rm \
"${input%/*}/ffmpeg2pass-0.log" \
"${input%/*}/ffmpeg2pass-0.log.temp" \
"${input%/*}/ffmpeg2pass-0.log.mbtree.temp" &> /dev/null
}
...
f_2passLogForThisInputExists() {
if [[ "$input" == $(cat "${input%/*}/.priorInput" 2> /dev/null) ]];then
echo 1
else
echo 0
fi
}
...
if [[ 0 == $(f_2passLogForThisInputExists) ]];then
echo " ENCODING CONSTRAINED QUALITY br:$br crf:$CRF - PASS 1/2"
trap "f_rm2passFilesVP9" 1 2 3 6
ffmpeg -hide_banner -y -i "${input}" \
-c:v libvpx-vp9 -pass 1 -b:v "$br" -crf "$CRF" -threads 4 \
-tile-columns 6 -frame-parallel 1 \
-an -f webm /dev/null
echo "$input" >"${input%/*}/.priorInput"
trap "" 1 2 3 6
else
echo "REUSING - PASS 1 FOR THIS INPUT - PASS 1/2"
fi
echo "ENCODING CONSTRAINED QUALITY br:$br crf:$CRF - PASS 2/2"
ffmpeg -hide_banner -y -i "${input}" \
-c:v libvpx-vp9 -pass 2 -b:v "$br" -crf "$CRF" -threads 4 -speed 2 \
-tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 \
-c:a libopus -b:a 64k -f webm \
"${exportName}"