gpt4 book ai didi

ffmpeg - 我可以回收 ffmpeg2pass-0.log

转载 作者:行者123 更新时间:2023-12-04 23:23:16 38 4
gpt4 key购买 nike

我可以重复使用 2 次通过日志吗?

也就是说:我在做这个,但我不知道我是否应该做这个。即:与 -pass 2 输出具有不同 crf/b:v 参数的 -pass 1 是否产生与始终对每个输入的两个 channel 进行唯一编码相同的结果?
我有一种感觉,我不应该重复使用 pass1。

假设我正在做测试,并且对于同一个输入文件产生多个 2 通输出具有不同的约束比特率/crf 变体......

例如:

constrainedQ-br9M-crf12.webm

constrainedQ-br12M-crf18.webm

constrainedQ-br14M-crf18.webm

constrainedQ-br16M-crf18.webm



是否可以检测先前的日志文件,检查它是否是为同一个输入文件生成的,并通过跳过 -pass 1 来重新使用它以进行后续渲染? (在这种情况下,ffmpeg 找到现有日志并似乎将其用于第 2 步)

或者

每当比特率或 crf 发生变化时,我是否应该重新生成 pass 1 日志?

[编辑] 每个人都喜欢一些上下文代码
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}"

最佳答案

如果您只是给它更多或更少的比特率,这应该没问题。我有时会这样做,但我也使用了很多区域,所以我通常只是重新运行第一遍,因为我知道区域肯定会对第一遍文件产生影响。如果我在创建第一个传递文件后添加一个区域,它将在文件中应用比特率的差异,如果我在此之前这样做,则区域比特率修改器仅应用于指定的帧。由于我认为您只是给文件提供或多或少的比特率,因此分布应该几乎相同。如果你的第二遍比特率要高得多,比如 20% 或更多,我会说只有重新运行第一遍。如果可能的话,最好只以您打算编码的最高比特率运行第一遍。

关于ffmpeg - 我可以回收 ffmpeg2pass-0.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60122204/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com