【问题标题】:Calculate PSNR and MSE for individual frames using ffmpeg使用 ffmpeg 计算单个帧的 PSNR 和 MSE
【发布时间】:2015-09-13 06:06:06
【问题描述】:

我有一个 avi 文件。我正在将 avi 文件转换为 .mp4 编解码器 H.264,在第二种情况下转换为 .mp4 文件编解码器 H.265。现在我想计算 ref 文件之间的 PSNR/MSE/MSAD( avi 文件)和使用 ffmpeg 转换的 mp4 文件。通过 ffmpeg 命令行过滤器进行 PSNR 和 SSIM 计算,但它给出了平均 PSNR 值,而不是逐帧的 PSNR 值。我也想使用代码而不是使用命令行来完成.阅读 demuxing.c 中的几个示例,它在调用 decode 之前将整个文件分成 av_read_frame 中的帧 但是我如何将 pkt 转换为帧并能够计算 PSNR 或 MSE 值。

问候 马扬克

【问题讨论】:

    标签: ffmpeg mp4


    【解决方案1】:

    FFmpeg 有一个psnr video filter,它将为您提供每帧 PSNR 作为每帧元数据。您可能想要使用它,因为它还允许简单地扩展代码以添加 SSIM(使用 ssim filter),而无需您付出太多努力。

    您应该能够毫不费力地找到有关将 libavfilter 与解码的 AVFrame 连接起来的文档。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多