根据x264 编码指南,crf
比例取决于 x264 是 8 位还是 10 位。据称x264 --help
显示Output bit depth
。但在 Windows 上ffmpeg -h full
没有提到任何内容Output bit depth
,crf
比例选项描述为from -1 to FLT_MAX
。如何检查我的 ffmpeg 使用的是 8 位还是 10 位版本的 libx264 库?
编辑
正如答案所建议的,如果位深度为 8 或crf
高于51
所用值,则 ffmpeg 将自动将值调整crf
为51
尽可能高的值。因此,只需检查 ffmpeg 的输出即可确定位深度。
答案1
帮助来自x264
其本身,而不是在 下ffmpeg
。在 Linux 发行版中,x264
路径允许您键入x264 --help
。
在 Windows 中,您可能需要cd
进入x264
安装文件夹并输入x264.exe --help
,但我没有在 Windows 上使用 ffmpeg,所以我不能肯定地说。
正如您提供的参考资料中所述,大多数分布都是 8 位的。为什么不使用一个crf
值63
并查看它是否会引发错误 - 那么你很可能拥有 8 位分布。
答案2
另一种方法是使用 编码低质量测试视频ffmpeg
(例如,使用持续时间限制和“超快”预设),然后使用 查询生成的 MP4 以ffprobe
确定视频流的实际位深度。要运行的命令是ffprobe -show_streams /path/to/video.mp4
,输出中要查找的字段是“bits_per_raw_sample=8”。您还可以通过添加选项将输出格式设置为 JSON -print_format json
。