Encoding ffmpeg vstats问题、缺少帧和误导性信息!

Encoding ffmpeg vstats问题、缺少帧和误导性信息!,encoding,ffmpeg,benchmarking,h.264,Encoding,Ffmpeg,Benchmarking,H.264,我遇到的问题是,当使用ffmpeg使用libx264对YUV进行编码时,我无法在-vstats输出中获得所有帧信息。它提出了一个问题:ffmpeg有多可靠,因此基于ffmpeg的任何“编解码器基准”审查都可以信任吗 我正在分析编解码器以确定它们的性能。我使用ffmpeg及其-vstats选项逐帧查看编码的电影。我使用的过程是: 原始YUV->带帧编号的每个帧的条形码->条形码YUV 条形码YUV->编码,例如使用libx264->MKV->解码为YUV 我可以使用每帧中的条形码比较两个输出“条形

我遇到的问题是,当使用ffmpeg使用libx264对YUV进行编码时,我无法在-vstats输出中获得所有帧信息。它提出了一个问题:ffmpeg有多可靠,因此基于ffmpeg的任何“编解码器基准”审查都可以信任吗

我正在分析编解码器以确定它们的性能。我使用ffmpeg及其-vstats选项逐帧查看编码的电影。我使用的过程是:

原始YUV->带帧编号的每个帧的条形码->条形码YUV

条形码YUV->编码,例如使用libx264->MKV->解码为YUV

我可以使用每帧中的条形码比较两个输出“条形码YUV”和“解码为YUV”。然后,我可以使用PSNR等将原始帧与编码帧进行精确比较

使用libx264和libdirac编码时,缺少一些帧信息。其他编解码器,如mpeg2video甚至libvpx,都没有这个问题

我发现前40到50帧缺少libx264 vstat。我已经证明丢失的信息实际上是最后40到50帧

看起来ffmpeg还可以根据vstats中的信息计算平均比特率。但由于缺少帧,平均比特率低于应有的水平

以下是指向平均比特率错误示例的链接:

以下是指向PSNR和f_尺寸图的链接:

下面是指向输出和命令行选项的链接:

我认为这也是一个bug,任何足够聪明的人都可能想要遵循这个追踪器:

我刚刚发现了一种东西,它让我的脸很红!!很恼火,但没关系:

一位ffmpeg用户指出,ffprobe应该输出更多的帧信息,它确实做到了。以下是他的便利小贴士的链接:

利用这一点,我发现:

实际平均比特率ffprobe数据:8355.2776056338 ffmpeg vstats数据的实际平均比特率:8406.23275471698 Ffmpeg-vstats平均值:7816.3 以上转载:7816.32168421053 Ffmpeg标准错误输出“比特率=”:8365.8

下面是我工作的链接:

我发现我应该使用ffmpeg标准错误输出的平均比特率信息,它看起来是最可靠的