この記事でわかること

  • 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

スペースを含むパスはシングルクォートで囲みます。


対応フォーマット

拡張子フォーマット名
.cubeAdobe/DaVinci Resolve CUBE(最も一般的)
.3dlAutodesk 3DL
.datPandora dat
.m3dPandora m3d

最も汎用的な .cube フォーマットの使用を推奨します。


LUT の適用強度を調整する(mix パラメータ)

lut3d 単体では強度調整パラメータがないため、mix には lut3doverlay を組み合わせるか、別フィルタと組み合わせます。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など多くのサイトで配布されています。


lut3dcurveseq の組み合わせ

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 適用はリアルタイムより遅い場合があります。

関連フィルタ

  • haldclut — 画像フォーマットの LUT を適用
  • curves — トーンカーブによる色補正
  • hue — 色相・彩度・輝度の調整
  • eq — 明度・コントラスト・ガンマの調整