Могу ли я перезапустить ffmpeg2pass-0.log - PullRequest
0 голосов
/ 08 февраля 2020

Могу ли я повторно использовать 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}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...