关于 ffmpeg-animation-timing-reference
这是一份 FFmpeg 滤镜与 ASS/SSA 字幕的计时参考技能,适用于制作动画、转场、字幕和同步效果,重点区分秒、帧、厘秒与毫秒等单位。
主要功能
- 01各类 FFmpeg 滤镜的计时单位
- 02ASS/SSA 标签单位区别
- 03时长与帧率参考
- 04平台与同步参考
- 05缓动和动画模式
- 06可直接使用的计时片段
适用场景
- 01为字幕或转场选择时长
- 02将 zoompan 帧数换算为秒
- 03避免 ASS 卡拉 OK 与动画标签的计时错误
- 04依据帧率或同步容差检查动画时序
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill ffmpeg-animation-timing-reference安装后在 Claude Code 中输入/ffmpeg-animation-timing-reference确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/caption-readability.mdcopy-paste-patterns.mdeasing-and-springs.mdoptimal-durations.mdplatform-and-sync.md详细介绍
关键指南
Windows 文件路径要求
强制要求:在 Windows 上始终使用反斜杠表示文件路径
在 Windows 上使用 Edit 或 Write 工具时,必须在文件路径中使用反斜杠(\),而不是正斜杠(/)。
文档指南
除非用户明确要求,否则绝不要创建新的文档文件。
FFmpeg 动画时长参考
对于 FFmpeg 滤镜和 ASS/SSA 字幕,本指南是回答“这个时长值的单位是什么?”和“这个动画应该持续多久?”的权威依据。涉及动画、转场、字幕或同步时长时,请使用本指南。
快速参考卡
| 上下文 | 单位 | 示例 |
|---|---|---|
| FFmpeg 滤镜(fade、xfade、drawtext) | 秒 | duration=1.5 |
FFmpeg zoompan 的 d= 参数 | 帧 | d=150(150 帧) |
FFmpeg 时间变量 t | 秒 | enable='gte(t,2)' |
ASS 卡拉 OK 标签(\k、\kf、\ko) | 百分之一秒 | {\k100} = 1 秒 |
ASS 动画标签(\t、\fad、\move) | 毫秒 | \t(0,500,...) = 0.5 秒 |
| ASS 对白时间戳 | H:MM:SS.CC | 0:00:05.50 |
关键:ASS 有两种不同的时间单位!
**这是字幕动画中最常见的混淆来源。**卡拉 OK 标签使用百分之一秒;其他所有标签(动画、淡入淡出、移动)都使用毫秒。混淆两者会导致动画速度快 10 倍或慢 10 倍。
ASS/SSA 时间单位辨别
| 标签类型 | 单位 | 换算 | 示例 |
|---|---|---|---|
卡拉 OK 标签(\k、\kf、\ko、\K) | 百分之一秒(1/100 秒) | x 100 | {\k50} = 0.5 秒 |
动画标签(\t) | 毫秒(1/1000 秒) | x 1000 | \t(0,200,...) = 0.2 秒 |
淡入淡出标签(\fad) | 毫秒 | x 1000 | \fad(300,0) = 0.3 秒淡入 |
移动标签(\move) | 毫秒 | x 1000 | \move(x1,y1,x2,y2,0,500) = 0.5 秒 |
| 对白时间戳 | H:MM:SS.CC | 百分之一秒 | 0:00:01.50 = 1.5 秒 |
相同的时长,不同的单位
; Both animations last 0.5 seconds but use DIFFERENT UNITS:
; Karaoke: 50 CENTISECONDS = 0.5 seconds
{\k50}Word
; Animation: 500 MILLISECONDS = 0.5 seconds
{\t(0,500,\fscx120)}Word
完整的卡拉 OK、淡入淡出和移动示例,以及百分之一秒与毫秒的换算表,请参阅 references/copy-paste-patterns.md。
FFmpeg 时间单位(速查表)
大多数 FFmpeg 滤镜接受秒(浮点数)。一个重要的例外是 zoompan d=,其单位是帧。
| 滤镜 / 上下文 | 参数 | 单位 |
|---|---|---|
fade / afade | d、st | 秒 |
xfade / acrossfade | duration、offset | 秒 |
drawtext | t 变量、enable | 秒 |
zoompan | d | 帧 |
zoompan | z= 中的 t 变量 | 秒 |
trim | start、end | 秒 |
fps | fps | 帧/秒 |
Zoompan 时长:单位是帧,而不是秒
# d= is FRAMES. For a 2-second zoom:
# 30fps: d=60 (60 frames / 30fps)
# 60fps: d=120 (120 frames / 60fps)
# Formula: frames = seconds * fps
ffmpeg -i input.mp4 -vf "zoompan=z='1.2':d=60:s=1080x1920" output.mp4
对于病毒式传播风格的开场效果,始终使用 d=1(逐帧处理),并通过类似 if(lt(t,0.5),...) 的时间条件来限制效果。设置 d=60 会冻结视频的其余部分。完整的开场公式和各平台专用缩放参数请参阅 references/optimal-durations.md。
核心工作流
- 确定上下文(FFmpeg 滤镜、ASS 卡拉 OK、ASS 动画或对白时间戳),并查看快速参考卡以确认单位。
- 根据感知效果(
references/optimal-durations.md)和平台节奏(references/platform-and-sync.md)选择目标时长。 - 如果数值较短(<300ms),请使用
references/platform-and-sync.md中的帧安全表,将其调整到帧边界。 - 如果需要让运动更精致,请选择缓动曲线(
references/easing-and-springs.md)。 - 根据感知阈值和同步容差进行验证,确保动画不会低于闪烁阈值,也不会破坏口型同步。
- 从
references/copy-paste-patterns.md中复制匹配的模式,并调整参数。
激活指南
根据问题加载相应的参考资料:
| 问题类型 | 加载 |
|---|---|
| “这个字幕 / 转场 / 钩子应该持续多久?” | references/optimal-durations.md |
| “为什么我的字幕感觉太快 / 不符合 WCAG?” | references/caption-readability.md |
| “这适用于 TikTok / Shorts / Reels / 广播吗?” | references/platform-and-sync.md |
| “我的口型同步 / 节拍同步是否在容差范围内?” | references/platform-and-sync.md |
| “这个时长在 30fps / 60fps 下看起来流畅吗?” | references/platform-and-sync.md |
| “我应该使用哪种缓动曲线 / 弹簧效果?” | references/easing-and-springs.md |
| “给我一段可直接粘贴的计时片段。” | references/copy-paste-patterns.md |
时长速查表
| 时长 | 用途 |
|---|---|
| 50-100ms | 故障效果、闪光 |
| 100-200ms | 快速 UI 反馈 |
| 200-300ms | 标准动画 |
| 300-500ms | 流畅转场 |
| 500-800ms | 明显的移动 |
| 800-1500ms | 戏剧性效果 |
| 1.5-3s | 字幕显示 |
| 3-5s | 长文本阅读 |
硬性下限:WCAG 要求字幕时长至少为 1.5s。最低可感知动画时长在 30fps 下约为 67ms,在 60fps 下约为 33ms。口型同步容差为 +/-80ms(目标为 +/-40ms)。
参考资料索引
技能内参考资料(按需加载):
references/optimal-durations.md- 人类感知阈值、文本动画、视频转场、钩子效果和卡拉 OK 的建议时长;病毒式视频的 1.3s 注意力阈值,以及特定平台的缩放参数 / 钩子公式。references/caption-readability.md- 阅读速度标准(WPM)、字幕时长公式、Python 实现、WCAG 2.2 无障碍要求。references/platform-and-sync.md- TikTok / YouTube Shorts / Instagram Reels / 广播的计时配置文件、音视频同步容差(口型同步、音乐、卡拉 OK、SFX)、帧率精度和逐帧安全时长表。references/easing-and-springs.md- Material Design 计时、FFmpeg 缓动表达式、完整缓动公式(线性、二次、三次、指数、正弦、圆形、弹性、弹跳、回退)、弹簧物理(质量-弹簧-阻尼器)、振荡 / 波形 / 利萨如公式、伪随机噪声、抖动 / 震动、淡入淡出 / 缩放 / 位置 / 旋转速查指南、生物节律、来源。references/copy-paste-patterns.md- 可直接粘贴的 FFmpeg 和 ASS 计时片段、帧率转换表、zoompan 时长计算。
相关技能
ffmpeg-karaoke-animated-text- 卡拉 OK 字幕制作viral-video-animated-captions- CapCut 风格动画ffmpeg-transitions-effects- 视频转场viral-video-hook-templates- 钩子计时模式ffmpeg-captions-subtitles- 字幕基础知识