如何确定 ffmpeg 中 libx264 库的“输出位深度”?

如何确定 ffmpeg 中 libx264 库的“输出位深度”?

根据x264 编码指南crf比例取决于 x264 是 8 位还是 10 位。据称x264 --help显示Output bit depth。但在 Windows 上ffmpeg -h full没有提到任何内容Output bit depthcrf比例选项描述为from -1 to FLT_MAX。如何检查我的 ffmpeg 使用的是 8 位还是 10 位版本的 libx264 库?

编辑

正如答案所建议的,如果位深度为 8 或crf高于51所用值,则 ffmpeg 将自动将值调整crf51尽可能高的值。因此,只需检查 ffmpeg 的输出即可确定位深度。

答案1

帮助来自x264其本身,而不是在 下ffmpeg。在 Linux 发行版中,x264路径允许您键入x264 --help

在 Windows 中,您可能需要cd进入x264安装文件夹并输入x264.exe --help,但我没有在 Windows 上使用 ffmpeg,所以我不能肯定地说。

正如您提供的参考资料中所述,大多数分布都是 8 位的。为什么不使用一个crf63并查看它是否会引发错误 - 那么你很可能拥有 8 位分布。

答案2

另一种方法是使用 编码低质量测试视频ffmpeg(例如,使用持续时间限制和“超快”预设),然后使用 查询生成的 MP4 以ffprobe确定视频流的实际位深度。要运行的命令是ffprobe -show_streams /path/to/video.mp4,输出中要查找的字段是“bits_per_raw_sample=8”。您还可以通过添加选项将输出格式设置为 JSON -print_format json

相关内容