この記事でわかること
lut3dフィルタで 3D LUT ファイルをカラーグレーディングに適用するコマンド- 対応する LUT フォーマット(
.cube・.3dl・.dat・.m3d) - LUT の強度を調整する方法
- 実用的なカラーグレーディングのワークフロー
テスト済みバージョン: FFmpeg 6.1(ubuntu-latest / CI検証済み)
対象 OS: Windows / macOS / Linux
3D LUT とは
3D LUT(3-Dimensional Look-Up Table)は、入力カラー値(R,G,B)を別の出力カラー値に変換するためのテーブルです。プロの映像制作やYouTuberが使う「フィルムルック」「シネマ風」などのカラーグレーディングを、LUT ファイル一つで再現できます。
基本コマンド
.cube LUT を適用する
ffmpeg -i input.mp4 -vf "lut3d=file=my_lut.cube" output.mp4
file= に LUT ファイルのパスを指定します。
パスにスペースが含まれる場合
ffmpeg -i input.mp4 -vf "lut3d=file='my lut file.cube'" output.mp4
スペースを含むパスはシングルクォートで囲みます。
対応フォーマット
| 拡張子 | フォーマット名 |
|---|---|
.cube | Adobe/DaVinci Resolve CUBE(最も一般的) |
.3dl | Autodesk 3DL |
.dat | Pandora dat |
.m3d | Pandora m3d |
最も汎用的な .cube フォーマットの使用を推奨します。
LUT の適用強度を調整する(mix パラメータ)
lut3d 単体では強度調整パラメータがないため、mix には lut3d と overlay を組み合わせるか、別フィルタと組み合わせます。FFmpeg 6.1 以降では haldclut + ブレンドが一般的なワークフローです。
シンプルな強度調整は eq フィルタと組み合わせることで代用できます:
ffmpeg -i input.mp4 \
-vf "lut3d=file=my_lut.cube,eq=contrast=0.9:saturation=0.8" \
output.mp4
具体的な .cube ファイルの構造(参考)
# シンプルな 2x2x2 CUBE ファイル例(テスト用)
LUT_3D_SIZE 2
0.0 0.0 0.0
1.0 0.0 0.0
0.0 1.0 0.0
1.0 1.0 0.0
0.0 0.0 1.0
1.0 0.0 1.0
0.0 1.0 1.0
1.0 1.0 1.0
実際の高品質 LUT は 33×33×33(35,937 エントリ)や 65×65×65 などを使います。
テスト用の最小 .cube ファイルを作成して適用する
cat > test.cube << 'EOF'
LUT_3D_SIZE 2
0.0 0.0 0.0
1.0 0.0 0.0
0.0 1.0 0.0
1.0 1.0 0.0
0.0 0.0 1.0
1.0 0.0 1.0
0.0 1.0 1.0
1.0 1.0 1.0
EOF
ffmpeg -i input.mp4 -vf "lut3d=file=test.cube" output.mp4
haldclut フィルタを使った LUT 適用(別の方法)
haldclut は画像フォーマットの LUT(PNG/TIFF)を使用する別のアプローチです。
ffmpeg -i input.mp4 -i lut_image.png \
-filter_complex "[0][1]haldclut" \
output.mp4
カラーグレーディングのワークフロー
1. ログ映像からの変換(S-Log3 → Rec.709)
ffmpeg -i slog3_footage.mp4 \
-vf "lut3d=file=SLog3_To_Rec709.cube" \
output.mp4
ソニーのS-Log3などのログ映像には専用の変換LUTが必要です。
2. フィルムルックの適用
ffmpeg -i input.mp4 \
-vf "lut3d=file=film_look.cube" \
output.mp4
フリーのLUTはDeLUT、IWLTBAP、Emiliana Torriniなど多くのサイトで配布されています。
lut3d と curves・eq の組み合わせ
LUT 適用後にさらに微調整できます。
ffmpeg -i input.mp4 \
-vf "lut3d=file=my_lut.cube,eq=contrast=1.05:saturation=1.1" \
output.mp4
注意点
- LUT ファイルのパスは絶対パスを推奨します(相対パスは FFmpeg の実行ディレクトリ基準)。
lut3dフィルタは libavfilter に含まれており、外部ライブラリは不要です。- LUT ファイルの形式が正しくないとエラーになります(コメント行の記法など)。
- 高解像度映像への LUT 適用はリアルタイムより遅い場合があります。