win64 使用 ffmpeg 计算视频 PSNR 和 SSIM

本文介绍FFmpeg的安装步骤及如何利用它计算视频间的PSNR和SSIM值,包括所需命令行参数的详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ffmpeg 的安装

1、在 https://www.pcsoft.com.cn/down/36231?module=soft 可下载到 win 64 的版本,解压到自己的盘内,我解压到了 D:\ffmpeg-4.3.1-win64-static

2、右键单击 -我的电脑,属性->高级系统设置->系统环境变量->Path->新建输入自己的FFmpeg路径(我的是D:\ffmpeg-4.3.1-win64-static\bin)点击确定

3、打开cmd 输入ffmpeg,显示如下即为安装成功

计算 PSNR

现在要计算 rec.yuv 和 dec.yuv 的 psnr,则在视频所在目录下打开 cmd 输入

ffmpeg  -pix_fmt  yuv420p  -s 1920x1080  -i rec.yuv  -pix_fmt yuv420p  -s 1920x1080 -i decs.yuv -lavfi psnr="stats_file=psnr.log"  -f null  -

use '-frame' to specify the number of frames to be cauculated, i.e.

ffmpeg  -pix_fmt  yuv420p  -s 1920x1080  -i Kimono_1920x1080_24.yuv  -pix_fmt yuv420p  -s 1920x1080 -i Kimono22.yuv -frames 12 -lavfi psnr="stats_file=psnr.log"  -f null  -

其中视频文件可以是 .yuv 也可以是 .mp4,两个文件的分辨率要一致

-pix_fmt 指定 视频格式

-s 指定大小(不指定大小会显示 Picture size 0x0 is invalid xxx.yuv: Invalid argument)

如果把 psnr="stats_file=psnr.log" 换成 psnr 则不会输出 psnr.log 文件

以上命令输出逐帧比较的 psnr.log 文件并在控制台给出总的 psnr 情况

计算 SSIM

同样是计算当前目录下两个视频的 SSIM,命令如下,其中 352x288 是视频的 宽x高,两个文件的分辨率要一致

ffmpeg -s 352x288 -i rec.yuv -s 352x288 -i dec.yuv -lavfi ssim="stats_file=ssim.log" -f null -

可使用 VCEG-AE07.rar 内提供的 .xls 文件来计算BD-rate和BD-PSNR,具体使用方法详见 这里

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值