FFmpeg 的 subtitles 滤镜 颜色编码解析
2025-07-07 16:51:07 368 分享链接 开发笔记 ffmpeg
FFmpeg 颜色编码解析
FFmpeg 的 subtitles 滤镜使用的是 ABGR 格式(Alpha、蓝、绿、红),但有以下特点:
前缀与字节顺序:
&H前缀表示十六进制值- 字节顺序为
AABBGGRR(从左到右依次是 Alpha、蓝、绿、红)
Alpha 通道:
- 前两位(AA)是 Alpha 通道,
00表示完全不透明,FF表示完全透明 - 通常在字幕中使用
00(不透明)
- 前两位(AA)是 Alpha 通道,
颜色通道:
- 接下来的两位(BB)是蓝色通道
- 再接下来的两位(GG)是绿色通道
- 最后两位(RR)是红色通道
常见颜色的 FFmpeg 值
| 颜色 | FFmpeg 值(ABGR) | 分解(AA BB GG RR) |
|---|---|---|
| 黄色 | &H0000ffff | 00=不透明, 00=蓝, FF=绿, FF=红 |
| 红色 | &H000000ff | 00=不透明, 00=蓝, 00=绿, FF=红 |
| 绿色 | &H0000ff00 | 00=不透明, 00=蓝, FF=绿, 00=红 |
| 蓝色 | &H00ff0000 | 00=不透明, FF=蓝, 00=绿, 00=红 |
| 白色 | &H00ffffff | 00=不透明, FF=蓝, FF=绿, FF=红 |
| 黑色 | &H00000000 | 00=不透明, 00=蓝, 00=绿, 00=红 |
正确的命令
使用 &H0000ffff 作为黄色值的正确命令:
ffmpeg -i test.mp4 -vf "scale=1920:1440,subtitles=test.srt:original_size=1920x1440:force_style='FontName=HelloFont ID JiangHuTi,FontSize=15,PrimaryColour=&H0000ffff,Outline=1,OutlineColour=&H20000000,BorderStyle=0,Shadow=0,Bold=0,Italic=0,Spacing=1'" -c:v h264_nvenc -y output.mp4颜色转换方法
如果你习惯使用 RGB 值,可以通过以下步骤转换为 FFmpeg 的 ABGR 格式:
- 将 RGB 值拆分为 R、G、B 三个部分(例如:黄色 RGB 为 255,255,0)
- 转换为十六进制(255 → FF,0 → 00)
- 按 ABGR 顺序排列并添加前缀
&H和 Alpha 值00
例如:
- RGB(255,255,0) → ABGR(0,0,255,255) → 十六进制 0000FFFF →
&H0000ffff
为什么容易混淆
这种颜色编码方式容易混淆的原因:
- 与标准 BGR 格式不同,它包含 Alpha 通道
- 字节顺序是从低位到高位(RR GG BB AA),但在 FFmpeg 中写作
&HAA BB GG RR - 许多其他软件使用 RGB 或 BGR 格式,没有 Alpha 前缀
感谢你的指正,希望这次解释能澄清 FFmpeg 颜色编码的工作原理。

最近更新
- 2026-04-24 04:08
- 番茄古风(古言)小说角色按用途划分八大服饰大类
- 2026-04-24 03:30
- 番茄古风(古言)小说角色设定提示词【标准化填空模板】
- 2026-04-24 02:05
- 番茄古风(古言)小说五大题材的角色形象卡字段与下拉词库
- 2026-04-24 01:41
- 番茄古风(古言)小说女频阅读榜的常见类型有哪些?
- 2026-04-24 00:39
- 整理一套适配古风、AI 识别度高、适配你扣子工作流的唇形词库。
- 2026-04-23 17:24
- 公式:主体 + 动作 + 场景 你的豆包从此听话。
- 2026-04-18 13:43
- 推荐几种即梦AI常见的古风动漫绘画艺术风格
- 2026-04-16 13:48
- 北影教科书级|AI电影提示词精准运用方法|影视工业级落地流程
- 2026-04-14 00:25
- 最适合古风漫画非人类角色(神兽 / 器灵 / 精怪)的 AI 绘画主流风格
- 2026-04-14 00:10
- 常见的古言小说中的非人类角色设计有哪些