我的筆記型電腦無法處理 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 維基:地圖。調整該
-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 維基:地圖。調整該
-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 維基:地圖。調整該
-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 維基:地圖。調整該
-crf
值以提供所需的品質等級。-preset
如果您想調整編碼速度,請新增該選項。看FFmpeg 維基:HEVC / H.265有關-crf
和 的更多資訊-preset
。使用格式濾波器選擇
yuv420p10le
像素格式以建立 10 位元輸出。 libx265 支援的其他 10 位元像素格式有yuv422p10le
&yuv444p10le
,但您的播放器可能不喜歡這些。請參閱 參考資料 了解ffmpeg -h encoder=libx265
其他支援的像素格式。