mcpField
F
ffmpeg-animation-timing-reference

ffmpeg-animation-timing-reference

github.com/josiahsiegelクリエイティブ・メディア5996 回インストール19 週間前に更新
リポジトリ

ffmpeg-animation-timing-reference について

FFmpegフィルターとASS/SSA字幕のタイミングを確認できるリファレンススキルです。アニメーション、トランジション、キャプション、同期の設計向けに、秒・フレーム・センチ秒・ミリ秒の違いを説明します。

主な機能

  1. 01FFmpegフィルターごとの時間単位
  2. 02ASS/SSAタグの単位の違い
  3. 03時間とフレームレートの指針
  4. 04プラットフォームと同期の資料
  5. 05イージングとアニメーションパターン
  6. 06すぐ使えるタイミング例

活用シーン

  1. 01キャプションやトランジションの時間を決める
  2. 02zoompanのフレーム数を秒に換算
  3. 03ASSのカラオケ・アニメーションタグの時間ミスを防ぐ
  4. 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.md
copy-paste-patterns.md
easing-and-springs.md
optimal-durations.md
platform-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 カラオケタグ(\k、\kf、\ko)センチ秒{\k100} = 1 秒
ASS アニメーションタグ(\t、\fad、\move)ミリ秒\t(0,500,...) = 0.5 秒
ASS ダイアログのタイムスタンプH:MM:SS.CC0:00:05.50

重要:ASS には異なる時間単位が2種類あります!

これは字幕アニメーションで最もよくある混乱の原因です。 カラオケタグはセンチ秒を使用し、それ以外(アニメーション、フェード、移動)はすべてミリ秒を使用します。混同すると、アニメーションが10倍速く、または10倍遅くなります。

ASS/SSA 時間単位の見分け方
タグの種類単位換算例
カラオケタグ(\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

カラオケ、フェード、移動の完全な例と、センチ秒/ミリ秒の換算表については、references/copy-paste-patterns.md を参照してください。


FFmpeg の時間単位(早見表)

FFmpeg のフィルターの大半は秒(浮動小数点数)を使用します。大きな例外は フレーム 単位の zoompan d= です。

フィルター/コンテキストパラメーター単位
fade / afaded、st秒
xfade / acrossfadeduration、offset秒
drawtextt 変数、enable秒
zoompandフレーム
zoompanz= 内の t 変数秒
trimstart、end秒
fpsfpsフレーム/秒
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 を参照してください。


基本的なワークフロー

  1. コンテキスト(FFmpeg フィルター、ASS カラオケ、ASS アニメーション、ダイアログのタイムスタンプのいずれか)を特定し、クイックリファレンスカードを読んで単位を確認します。
  2. 目標の長さを知覚に基づいて選び(references/optimal-durations.md)、プラットフォームのテンポに合わせます(references/platform-and-sync.md)。
  3. 値が短い(<300ms)場合は、references/platform-and-sync.md のフレームセーフ表を使って、フレーム境界に合わせます。
  4. 動きに磨きをかける必要がある場合は、イージングカーブを選びます(references/easing-and-springs.md)。
  5. アニメーションがフリッカーのしきい値を下回ったり、リップシンクが崩れたりしないよう、知覚のしきい値と同期の許容範囲に照らして検証します。
  6. 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 - 人間の知覚閾値、テキストアニメーション、動画トランジション、フック効果、カラオケに推奨される長さ、バイラル動画における 1.3s の注目閾値、プラットフォーム別のズームパラメーター/フックの計算式。
  • references/caption-readability.md - 読む速さの基準(WPM)、キャプション表示時間の計算式、Python 実装、WCAG 2.2 のアクセシビリティ要件。
  • references/platform-and-sync.md - TikTok/YouTube Shorts/Instagram Reels/放送向けのタイミングプロファイル、音声と映像の同期許容誤差(リップシンク、音楽、カラオケ、SFX)、フレームレートの精度、フレームに安全な長さの表。
  • references/easing-and-springs.md - Material Design のタイミング、FFmpeg のイージング式、イージングの全計算式(線形、二次、三次、指数、正弦、円、弾性、バウンス、バック)、スプリング物理学(質量-スプリング-ダンパー)、振動/波/リサージュの計算式、疑似乱数ノイズ、ジッター/シェイク、フェード/スケール/位置/回転のクックブック、生体リズム、情報源。
  • references/copy-paste-patterns.md - そのまま貼り付けられる FFmpeg および ASS のタイミングスニペット、フレームレート変換表、zoompan の長さの計算。

関連スキル

  • ffmpeg-karaoke-animated-text - カラオケ字幕の作成
  • viral-video-animated-captions - CapCut スタイルのアニメーション
  • ffmpeg-transitions-effects - 動画トランジション
  • viral-video-hook-templates - フックのタイミングパターン
  • ffmpeg-captions-subtitles - 字幕の基本

コメント