360 Secure SkillHub
360 安全技能中心

Ffmpeg Chinese Subtitle

核心功能是解决Windows下ffmpeg处理中文字幕时的乱码、不显示、参数截断等编码问题,采用Pillow在图片上绘制字幕,再由ffmpeg转视频的方案。典型场景为使用ffmpeg处理视频中文字幕遇到异常时,支持Python接口调用,输入图片路径、字幕文本等参数,可定制字体大小、颜色等,输出带字幕的图片,后续可生成带字幕的视频。

systiger
systiger
热度 42.52
最近更新 2026-05-11 17:36:19
分类:开发依赖:代码执行 / 读写文件应用场景:视频编辑 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ffmpeg-chinese-subtitle
Metadata
name
ffmpeg-chinese-subtitle
version
1.0.0
description
Windows 上使用 ffmpeg 正确生成中文字幕的解决方案。 用 Pillow 在图片上绘制字幕,ffmpeg 只负责图片转视频,完全避开编码问题。
author
systiger
tags
["ffmpeg","subtitle","chinese","视频","字幕"]

ffmpeg Chinese Subtitle

Windows 上使用 ffmpeg 正确生成中文字幕的解决方案。

问题背景

在 Windows 上使用 ffmpeg 的 drawtext、subtitles、ass 滤镜处理中文字幕时,会遇到以下问题:

错误码 原因
返回码 -22 (EINVAL) 字体路径转义问题
字幕不显示 中文编码被截断
乱码 字符集不匹配

解决方案

核心思路:用 Pillow 在图片上绘制字幕,ffmpeg 只负责图片转视频。

方案对比

方案 状态 原因
drawtext=text='中文' ❌ 失败 命令行参数截断
subtitles='中文.srt' ❌ 失败 路径编码问题
ass='中文.ass' ❌ 失败 同上
Pillow 绘制 + ffmpeg ✅ 成功 Python 原生支持 Unicode

快速使用

from ffmpeg_subtitle import add_subtitle_to_image

# 在图片上添加字幕
add_subtitle_to_image(
    image_path="input.png",
    subtitle_text="这是中文字幕",
    output_path="output.png",
    font_size=24,
    y_offset=50
)

参数说明

参数 默认值 说明
image_path - 输入图片路径
subtitle_text - 字幕文本
output_path - 输出图片路径
font_size 24 字体大小
y_offset 50 距底部的偏移量(像素)
font_color (255,255,255) 字体颜色 RGB
shadow_color (0,0,0) 阴影颜色 RGB

依赖

Pillow>=10.0.0

字体

默认使用 Windows 系统字体:

  • 主字体:C:/Windows/Fonts/msyh.ttc(微软雅黑)
  • 备用字体:C:/Windows/Fonts/simhei.ttf(黑体)

触发词

ffmpeg字幕、中文字幕、视频字幕、字幕烧录

文件结构

ffmpeg-chinese-subtitle/
├── SKILL.md           # 技能说明文档
├── README.md          # 详细使用指南
├── ffmpeg_subtitle.py # 核心模块
├── example.py         # 完整示例
└── package.json       # 包信息

License

MIT

Author

systiger