FFmpeg 添加黄色边框黑色自定义字体的命令说明
2025-07-07 17:00:17 292 分享链接 开发笔记 ffmpeg python cmd
通过FontName自定义字体需要注意使用内部字体名称
ffmpeg -i test.mp4 -vf "scale=1920:1440,subtitles=test.srt:original_size=1920x1440:fontsdir=D\\:/XiaoShuoMediaNew/fonts:force_style='FontName=HelloFont ID JiangHuTi,FontSize=15,PrimaryColour=&H0000ffff,Outline=1,OutlineColour=&H20000000,BorderStyle=0,Shadow=0,Bold=0,Italic=0,Spacing=0.5'" -c:v h264_nvenc -y output.mp4
确认字体的实际内部名称的方法
# Linux/macOS系统
fc-list | grep "江湖"
# Windows系统(需要安装fonttools)
pip install fonttools
ttx -t name "D:/XiaoShuoMediaNew/fonts/HelloFont ID JiangHuTi.ttf"运行 ttx -t name "D:/XiaoShuoMediaNew/fonts/HelloFont ID JiangHuTi.ttf" 命令后,会生成一个同名的 XML 文件(例如 HelloFont ID JiangHuTi.ttx),其中包含字体的元数据信息。实际内部名称通常可以在 <nameRecord> 标签中找到,具体要看 nameID 和 platformID 的组合。
关键参数解释
在生成的 XML 文件中,你需要关注以下字段:
nameID:标识名称类型
nameID="1":字体家族名称(Family Name)nameID="4":完整字体名称(Full Name)nameID="6":PostScript 名称(不带空格)
platformID:平台标识符
platformID="3":Windows 平台platformID="1":Macintosh 平台
对于 FFmpeg 的 FontName 参数,通常应该使用 nameID="1" 或 nameID="4" 且 platformID="3" 的值。在上面的例子中,有效的字体名称可能是:
自由点字江湖体(nameID=1)自由点字江湖体 Regular(nameID=4)
在subtitles滤镜中,如果你想使用自定义字体文件,应该通过以下方式:
- 使用fontsdir参数指定字体目录,并确保字体文件在此目录中
- 使用FontName参数指定字体的内部名称(不是文件名)

最近更新
- 2026-04-07 12:44
- 字幕文件解析并转换时间单位为微秒,输出指定格式的时间线数据
- 2026-04-07 11:30
- 通过扣子官方语音合成开发的速推版剪映小助手时间线插件
- 2026-04-07 07:51
- 基于故事文本与新国风水墨武侠动漫风格设计唐朝人物形象提示词
- 2026-04-01 02:38
- 推荐7种古装武侠AI漫剧适配度极高的风格
- 2026-04-01 02:23
- AI漫剧新国风武侠动漫风格常搭的全局基础色调
- 2026-03-30 13:59
- 基于故事文本与国风动漫风格对所有角色进行详细定义的实例
- 2026-03-30 13:16
- 【国风武侠动漫视觉形象】常用五官长相描述
- 2026-03-25 16:58
- 学习 豆包AI 提取小说故事中的所有角色描述
- 2026-03-25 15:46
- 学习 豆包AI 影视分镜标准画面描述规则
- 2026-03-25 15:42
- 学习 豆包AI 短视频分镜脚本之画面元素编写规则