我的笔记本电脑无法处理 10 位 H.265 / HEVC 视频,因此我希望将它们转换为 10 位 H.264。如何使用 ffmpeg 等工具以最少的质量损失完成此操作?如何将 10 位 H.265 转换为 8 位 H.265?
答案1
10 位/12 位 HEVC 至 8 位 H.264
ffmpeg -i input -map 0 -c:v libx264 -crf 18 -vf format=yuv420p -c:a copy output.mkv
-map 0
将包括所有流(默认流选择每种类型仅选择 1 个流)。请参阅FFmpeg Wiki:地图。调整
-crf
值以提供所需的质量级别。-preset
如果您想调整编码速度,请添加该选项。请参阅FFmpeg 维基:H.264-crf
欲了解有关和 的更多信息-preset
。使用格式过滤器选择
yuv420p
像素格式来创建 8 位输出。
10 位/12 位 HEVC 至 10 位 H.264
ffmpeg -i input -map 0 -c:v libx264 -crf 18 -c:a copy output.mkv
-map 0
将包括所有流(默认流选择每种类型仅选择 1 个流)。请参阅FFmpeg Wiki:地图。调整
-crf
值以提供所需的质量级别。-preset
如果您想调整编码速度,请添加该选项。请参阅FFmpeg 维基:H.264-crf
欲了解有关和 的更多信息-preset
。在这种情况下不需要格式过滤器。
10 位/12 位 HEVC 至 8 位 HEVC
ffmpeg -i input -map 0 -c:v libx265 -crf 20 -vf format=yuv420p -c:a copy output.mkv
-map 0
将包括所有流(默认流选择每种类型仅选择 1 个流)。请参阅FFmpeg Wiki:地图。调整
-crf
值以提供所需的质量级别。-preset
如果您想调整编码速度,请添加该选项。请参阅FFmpeg 维基:HEVC / H.265-crf
欲了解有关和 的更多信息-preset
。使用格式过滤器选择
yuv420p
像素格式来创建 8 位输出。
12 位 HEVC 至 10 位 HEVC
ffmpeg -i input -map 0 -c:v libx265 -crf 20 -vf format=yuv420p10le -c:a copy output.mkv
-map 0
将包括所有流(默认流选择每种类型仅选择 1 个流)。请参阅FFmpeg Wiki:地图。调整
-crf
值以提供所需的质量级别。-preset
如果您想调整编码速度,请添加该选项。请参阅FFmpeg 维基:HEVC / H.265-crf
欲了解有关和 的更多信息-preset
。使用格式过滤器选择
yuv420p10le
像素格式来创建 10 位输出。libx265 支持的其他 10 位像素格式是yuv422p10le
&yuv444p10le
,但您的播放器可能不喜欢这些格式。请参阅ffmpeg -h encoder=libx265
以了解其他受支持的像素格式。