使用 ffmpeg 快速应用 LUT(色彩分级)
摘要
一份快速指南,介绍如何使用 ffmpeg 命令行工具对视频素材应用 LUT(色彩分级),特别针对 DJI Osmo Pocket D-Log 素材。文章包含命令以及用于批量处理的 bash 脚本。
<p>这是一篇快速记录,主要是供我自己参考。</p>
<p>多年来,我一直避免使用 LUT 和“Log”视频素材<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>,主要是因为这涉及额外的一点工作流程。与 RAW 照片类似,“Log”素材保留了视频传感器的全部动态范围,因此你可以在后期从素材中提取更多的色彩和亮度信息。</p>
<p>但与摄影不同,RAW 在摄影领域已存在数十年,许多工作流程“开箱即用”,无需我对每张照片进行“调色”。而在视频领域,很少有消费级应用能优雅地处理 Log 素材。你通常会得到一团灰蒙蒙的混乱画面。</p>
查看缓存全文
缓存时间: 2026/06/26 05:08
# 使用 ffmpeg 快速应用 LUT(色彩分级)
来源:https://www.jeffgeerling.com/blog/2026/apply-lut-color-grade-with-ffmpeg/
这是一篇快速记录,主要是为了我自己日后查阅。
多年以来,我一直避免使用 LUT 和 'Log' 视频素材[^1],主要是因为工作流程上会多那么一点点麻烦。就像 RAW 照片一样,'Log' 素材保留了视频传感器的完整动态范围,这样你可以在后期从素材中提取更多色彩和亮度信息。
但不同于摄影——RAW 已存在数十年,很多工作流程可以“直接使用”而无需我对每张照片单独“调色”——在视频领域,很少有消费级应用能优雅地处理 Log 素材。最终你往往会得到一团泥泞的灰色乱麻。
我不想每次拍摄视频都启动 DaVinci Resolve 或 Final Cut Pro 来处理。尤其是我*确实*出于某种原因用 Log 模式录制,但后来忘记切换回“普通”模式,又拍了一些片段。
Jeff 调色与未调色对比——差异非常明显[^2],正如下面这个片段(上图)所示,我正和孩子们在家里用我的 DJI Osmo Pocket 4[^3] 拍摄。我刚拿起相机测试,然后意识到在我把素材导入电脑后,它仍然处于“10 位 D-Log”模式。
我不想只为了给六七个片段调色就启动 Final Cut Pro,然后把它们放入家庭视频库。所以,在看到 Pixls.us 讨论中提到了内置的 `lut3d` 滤镜[^4] 后,我转向了 `ffmpeg`。
## 用 ffmpeg 处理 LUT
我使用的完整 `ffmpeg` 命令如下:
```
ffmpeg \
-i /Users/jgeerling/Downloads/DJI_20000219193052_0005_D.MP4 \
-vf "lut3d=osmo-vivid.cube" \
-c:v hevc_videotoolbox \
-profile:v main10 \
-b:v 30M \
-pix_fmt p010le \
-tag:v hvc1 \
-c:a copy \
DJI_0005_D_converted.mp4
```
其中一些标志仅在 Mac 上有效,因为 Mac 配备了 Apple 的硬件 H.265 视频编码器。关键部分是 `-vf "lut3d=osmo-vivid.cube"`,它指向特定相机/素材的 `.cube` 文件路径。
在这个例子中,我使用的是 DJI Osmo Pocket 4 的“鲜艳”LUT[^5]。
如果你想调整 `ffmpeg` 标志以适配自己硬件的 H.264 或 H.265 加速,只需复制上面的命令,然后通过你喜欢的 LLM 处理即可。用了几十年 `ffmpeg`,到现在要记住所有这些标志和缩写,感觉还是像在考 AP 微积分 BC 一样 :D
我真希望“LUT 旁侧文件”能有一个统一标准。Apple、BlackMagic、Sony 等公司*确实*会在视频文件中嵌入 LUT 数据……但并没有统一标准,所以 Blackmagic 相机片段得用 DaVinci Resolve,iPhone 片段得用 QuickTime……结果呢,大多数非专业软件如果不像我这样用 `ffmpeg` 处理,就只能显示一个灰蒙蒙的视频文件。*唉*。
给定某个 `.cube` 文件,下面是如何将 LUT 应用到某个文件夹内所有 MP4 文件的方法:
```bash
#!/bin/bash
CUBE="osmo-vivid.cube"
DIR="video_files"
files=("$DIR"/*.MP4)
total=${#files[@]}
count=0
for input in "${files[@]}"; do
[ -e "$input" ] || continue
((count++))
echo "Processing file $count of $total: $(basename "$input")"
ffmpeg -i "$input" -vf "lut3d=$CUBE" -c:v hevc_videotoolbox -profile:v main10 -b:v 30M -pix_fmt p010le -tag:v hvc1 -c:a copy "${input%.MP4}_converted.mp4"
done
```
在 `CUBE` 中填入你的 `.cube` 文件路径,在 `DIR` 中填入包含大量未调色 .MP4 文件的目录路径。保存脚本,赋予可执行权限,然后运行即可!
[^1]: https://www.jeffgeerling.com/blog/2026/apply-lut-color-grade-with-ffmpeg/#fn:1
[^2]: https://www.jeffgeerling.com/blog/2026/apply-lut-color-grade-with-ffmpeg/#fn:2
[^3]: https://amzn.to/4evPnld
[^4]: https://discuss.pixls.us/t/assistance-with-luts-designed-for-another-color-space-such-as-log/26275/10
[^5]: https://www.dji.com/uk/downloads/softwares/osmo-pocket-4-dlog-to-rec709-lut-vivid
相似文章
我们现在知道了DJI双摄像头Osmo Pocket 4P与Insta360的对比情况
DJI Osmo Pocket 4P配备双摄像头,支持4K 240fps,与Insta360的8K Luna Ultra对比,突出了分辨率、慢动作能力和价格方面的取舍。
Log Cam
Log Cam 是一款 iPhone 应用,可以从 RAW 帧中录制 log 和 ProRes 视频。
@0xluffy_eth: 有人为Claude Code开发了免费视频编辑工具...太疯狂了。 只需把原始素材和资源放入文件夹。 就这样。 它会处理一切: - 剪辑片段 - 移除冗余词 - 添加字幕 - 应用色彩分级和滤镜 - 处理动画 - 渲染最终视频 无时间线。…
A free, open-source video editing tool built for Claude Code that fully automates editing from raw footage—clipping, filler word removal, subtitles, color grading, animation, and final rendering—all without a timeline or manual edits.
Show HN:FastUbu – 超快视频归档
FastUbu 是一个工具,它将索引和转录等现代 AI 技术应用于已有 30 年历史的 Ubu 电影档案,旨在通过 Kino API 提供超快速的视频处理。
DaVinci Resolve 21
DaVinci Resolve 21 引入了全新的照片页面,配备好莱坞级别的色彩工具、AI 驱动的媒体搜索、语音生成、面部年龄变换等功能,全面提升了视频和静态摄影工作流程。