ffmpeg 2 pass encoding-了解输出.log文件中的统计信息

问题描述

我正在使用 2 pass 编码器以目标比特率对我的输入视频进行编码。 我想从第一遍中获取编码器(x264)统计信息 - 这些统计信息被写入 ffmpeg2pass.log 每帧的输出如下所示:

in:2 out:2 type:B dur:2 cpbdur:2 q:28.41 aq:25.07 tex:4721 mv:2357 misc:2266 imb:24 pmb:527 smb:3049 d:- ref:0 ;

我怎样才能找到每个值的含义? (比如mv是运动向量,但是misc、imb、pmb等是什么意思?)

ffmpeg 命令使用: ffmpeg -f rawvideo -pix_fmt yuv422p16le -s:v 1280x720 -i "input_file.yuv" -c:v libx264 -pass 1 -stats -vstats -passlogfile "log_file_prefix" -f mp4 -y "output.mp4" && ffmpeg -f rawvideo -pix_fmt yuv422p16le -s:v 1280x720 -i "input_file.yuv" -c:v libx264 -pass 2 -passlogfile "log_file_prefix" -y "output.mp4"

解决方法

In:显示/输入帧数

输出:编码帧数

类型:框架类型

q:帧量化值

Tex:用于残差的位大小

mv:mvs 的位大小

其他:用于其他位大小

Imb:内部宏块的数量

Pmb:宏块间数量

Smb:跳过跳过宏块的数量

d:该帧的最佳模式

Ref:每个 ref 在列表中被使用的次数

w:这个frame的最优权重(如果开启了权重)