首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以循环使用ffmpeg2pass-0.log吗?

我可以循环使用ffmpeg2pass-0.log吗?
EN

Stack Overflow用户
提问于 2020-02-07 22:57:25
回答 1查看 582关注 0票数 0

我可以重复使用两个通行证日志吗?

这就是说:我正在做这件事,但我不知道我是否应该这样做。ie:从-pass 2输出中具有不同的crf/b:v参数的-pass 1会产生相同的结果吗?对每个输入都进行唯一编码吗?我有一种感觉,我不应该重用pass1。

假设我在做测试,对于相同的输入文件,会产生多个2通输出,并且有不同的受限比特率/crf变体.

例:

约束Q-br9M-crf12.webm

constrainedQ-br12M-crf18.webm

constrainedQ-br14M-crf18.webm

constrainedQ-br16M-crf18.webm

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

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

编辑每个人都喜欢一些上下文代码。

代码语言:javascript
复制
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}"
EN

回答 1

Stack Overflow用户

发布于 2020-06-24 16:31:13

这应该是可以的,如果你只是简单地给它或多或少的比特率。我有时会这样做,但我也使用了很多区域,所以我通常只是重新运行第一遍,因为我知道区域肯定会在第一遍文件中起作用。如果我在创建第一个pass文件之后添加一个区域,那么它将在整个文件中应用比特率的差异,如果在此之前这样做,则区域比特率修饰符只应用于指定的帧。由于我认为您只是简单地提供文件或多或少的比特率,那么发行版应该基本相同。我想说的是,如果你的第二次测试的比特率要高得多,比如20%或更高,那么只能重新运行第一次。如果可能的话,最好以您想要编码的最高比特率运行第一次通过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60122204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档