gpt4 book ai didi

ffmpeg - 为什么 ffmpeg 生成的 psnr 和 ssim 值与 H264 生成的值不同

转载 作者:行者123 更新时间:2023-12-04 22:46:04 24 4
gpt4 key购买 nike

我正在从输入流(mxf 或 mov)获取生成的 mp4 视频流,并且在执行此操作时我使用 -psnr 作为 H264 参数。结果是大约。 40 或 41。

然后我将输入和输出与 psnr(或 ssim)过滤器进行比较。结果约。 20 或 21。这是一个很大的区别。有谁知道造成这种差异的原因吗?

注意:ssim 结果类似。第一个是~0.97,第二个是~0.83

峰值信噪比

ffmpeg -i input.mov -codec:v libx264 -psnr -f mp4 output.mp4
PSNR (~40)

ffmpeg -i output.mp4 -i input.mov -filter_complex psnr -f mp4 /dev/null
PSNR (~20)

SSIM

ffmpeg -i input.mov -codec:v libx264 -ssim -f mp4 output.mp4
SSIM (~0.98...)

ffmpeg -i output.mp4 -i input.mov -filter_complex ssim -f mp4 /dev/null
PSNR (~0.83...)

最佳答案

可能是因为两个视频的时间戳没有正确对齐。您应该能够通过提供您正在运行的命令的完整输出,然后查看两个输入流的时基来确认这一点。

[编辑]玩了一会儿之后,这里有一种方法可以让它忽略时间戳,只进行 1:1 帧比较:

ffmpeg -i file1 -i file2 \
-lavfi '[0:v]setpts=N[out0];[1:v]setpts=N[out1];[out0][out1]psnr' \
-f null -v info -

它可能会提示无效的时间戳,但您可以安全地忽略这些错误消息。

关于ffmpeg - 为什么 ffmpeg 生成的 psnr 和 ssim 值与 H264 生成的值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857540/

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