从ffmpeg输出中获取压缩率?

3

在编码过程中,ffmpeg会接受一个“压缩速率”(crf)参数(与实际压缩比不同),当使用H264编解码器时:

ffmpeg -i input.mp4 -vf fps=15 -crf 20 -c:v libx264 output.mp4

通过检查视频文件,获得该参数的值是否可能?据我所知,它似乎不是元数据的一部分。

1个回答

2
您可以使用 mediainfo 并查看 编码设置
mediainfo input.mp4

要仅显示crf,您可以这样选择:

mediainfo input.mp4  | grep "Encoding settings" | cut -d':' -f2- | tr '/' '\n' | sed 's/ //' | grep crf=

请看slhck的详细帖子,我稍微改编了GREP/SED命令。
注意:有些视频无法通过mediainfo检索到编码设置

好的,感谢向slhck致谢。但是要使用它,您需要单击此处的下载按钮上的下拉选择器,然后选择您的操作系统,接着安装CLI而不是GUI版本。https://mediaarea.net/en/MediaInfo/Download。还有......它似乎无法工作。我用`grep`什么都没有得到。 - lacostenycoder
它能运行,但并非所有视频都提供此信息。我已将此信息添加到我的答案中,感谢您提出这一点。这非常有用。 而且你说得没错,这是CLI版本。 像Homebrew的包管理器适用于OSX,是安装CLI的好方法:brew install media-info - drake7
在我的情况下,如果我简单地放弃grep并只使用 mediainfo,然后确实通过homebrew安装它,那么它可以正常工作。 - lacostenycoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接