captions-media-accessibility について
字幕やトランスクリプトを計画する映像・音声制作者向けのアクセシビリティスキルです。最終音声と映像を基準に、作成、タイミング、可読性、納品を扱います。
主な機能
- 01字幕やSDHなどの要件分類
- 02字幕内容とタイミングの指針
- 03焼き込み字幕のデザイン指針
- 04描写付きトランスクリプトの作成
- 05形式と納品先への対応
活用シーン
- 01収録済み動画への字幕作成
- 02ソーシャル動画の焼き込み字幕設計
- 03研修用トランスクリプトの準備
- 04アクセシビリティ審査と納品の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ calesthio/ generative-media-skills --skill captions-media-accessibilityインストール後、Claude Code で/captions-media-accessibilityを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
EVAL.mdscripts/validate_captions.pytests/test_validate_captions.py詳細
キャプションとメディアのアクセシビリティ方針
キャプションとアクセシビリティ用トラックは、仕上げの装飾ではなく、制作物として扱ってください。台本、音声ミックス、編集、ローカライズ計画、配信先の仕様に基づいて作成します。ユーザーから法令遵守について尋ねられた場合は、準拠の判断に用いる基準を伝え、適格なアクセシビリティまたは法律の専門家による確認を勧めてください。生成ファイルだけで法令遵守を保証してはいけません。
まずメディアを分類する
キャプションを作成または書き出す前に、次の項目を確認してください。
- コンテンツの種類:音声付きの収録済み動画、ライブまたは準ライブ動画、音声のみ、動画のみ、または音声のないソーシャル向け編集版。
- 視聴者のニーズ:聴覚障害のある視聴者向けキャプション、聴覚に問題のない視聴者向け翻訳字幕、SDH、トランスクリプト、描写付きトランスクリプト、音声解説、手話、またはプラットフォームの既定の自動キャプション。
- 配信先:映像に焼き込むソーシャル向け、ウェブプレーヤー用サイドカー、放送/OTT、LMS/研修ポータル、社内レビュー、ローカライズ用パッケージ、またはアーカイブ用マスター。
- アクセシビリティ上のリスク:重要な画面上のテキスト、グラフ、画面録画、複数の話者、重なり合う会話、音楽/歌詞、音が物語の展開を左右する場面、点滅/ストロボ、動きの速いキネティックタイポグラフィ、低コントラスト、小さなモバイル画面、またはプラットフォームのUIオーバーレイ。
- 最終ソースの基準:確定した音声ミックスと最終映像。生成した台本、TTSのドラフト、ASRのトランスクリプトは出発点であり、編集後の正確性を判断する基準ではありません。
保持すべき、文書化された事実
該当する場合は、これらを事実上の制約として使用してください。主張が重要な場合は、出力または引き継ぎメモで出典を示してください。
- WCAG 2.2では、同期メディア内の収録済み音声にキャプションを付けることがレベルA(SC 1.2.2)、ライブの同期音声にキャプションを付けることがレベルAA(SC 1.2.4)、収録済み動画に音声解説を付けることがレベルAA(SC 1.2.5)で求められています。SC 1.2.3では、レベルAにおいて、収録済みの同期動画に音声解説またはメディアの代替手段のいずれかを使用できます。出典:W3C WCAG 2.2、2026-07-10確認。
- WCAG 2.2の点滅に関するガイダンスでは、一般的な点滅または赤色点滅のしきい値を下回る場合を除き、コンテンツを1秒間に3回を超えて点滅させてはならないとされています。出典:W3C Understanding SC 2.3.1、2026-07-10確認。
- WCAGのテキストのコントラスト最低基準は4.5:1、大きなテキストでは3:1です。これはウェブ上のテキストに関する基準です。動画に焼き込まれたキャプションは動画の画素ですが、より厳しいプラットフォームまたは仕様の要件がない限り、キャプションの読みやすさを確保するための最低設計目標として使用してください。出典:W3C WCAG 2.2 SC 1.4.3、2026-07-10確認。
- Section508.govでは、クローズドキャプション、オープンキャプション、字幕、トランスクリプトを区別しています。クローズドキャプションはオン/オフを切り替えられ、オープンキャプションは動画に恒久的に表示されます。字幕は通常、聴覚に障害のない視聴者向けに会話を翻訳するもので、一般に話者の識別情報や非音声の音は含みません。トランスクリプトには時間情報が付いていません。出典:Section508.govの同期メディアに関するガイダンス、2026-07-10確認。
- 米国FCCの、対象となるテレビ番組に関するキャプション品質規則では、正確性、同期性、完全性、配置を基準としています。キャプションには関連する非言語情報を含め、読みやすくし、重要な視覚的コンテンツを覆わないようにする必要があります。出典:Legal Information Institute/eCFRのテキストを通じた47 CFR Sec. 79.1、2026-07-10確認。このスキルは、特定のプロジェクトがFCC規則の対象かどうかを判断するものではありません。
- YouTubeヘルプでは、基本形式としてSRTおよびSBV/SubViewer、高度な形式としてWebVTT/TTML/SAMI/RealTextが挙げられています。基本形式のSRT/SBVファイルはプレーンなUTF-8でなければならず、YouTubeではスタイルのサポートが限定的です。出典:YouTubeヘルプ、2026-07-10確認。
- Vimeoヘルプによると、Vimeoはキャプション/字幕にSRTとWebVTTをサポートし、WebVTTを推奨しています。また、特殊文字にはUTF-8エンコーディングが必要です。出典:Vimeoヘルプ、2026-07-10確認。
- WebVTTは、メディアトラックで使用するUTF-8のタイムテキスト形式です。
WEBVTTで始まり、時間情報付きキューを含みます。プレーヤーのサポート状況に応じて、キャプション、字幕、解説、チャプター、メタデータに使用できます。出典:W3C/MDNおよびLibrary of CongressのWebVTTドキュメント、2026-07-10確認。 - W3CのWebVTT構文では、UTF-8、
WEBVTTファイルシグネチャ、ミリ秒をピリオドで区切ったキューのタイミング、開始時間順のキュー、開始時間より後の終了時間が必要です。この形式では、キャプション/字幕のキューの重複が許可されますが、多くのキャプション配信ワークフローでは、重複が拒否または警告されます。出典:W3C WebVTT Candidate Recommendation Draft、2026-07-11確認。 - SRTは広く使われていますが、標準化の度合いは低いプレーンテキストのサイドカーファイル規約です。数字のカウンター、開始/終了時間を記した行、キャプションテキスト、空行の区切りを繰り返す構成です。従来からの配信慣行では、
HH:MM:SS,mmm --> HH:MM:SS,mmm形式の時間情報と、現代のプラットフォームへのアップロードにはUTF-8を使用しますが、従来のSRTファイルでは別のエンコーディングが使われている場合があります。出典:Library of CongressのSRT形式の説明およびここにすでに記載したプラットフォームのガイダンス、2026-07-11確認。 - Netflixのタイムテキストガイダンスはプラットフォーム固有のもので、普遍的な規則ではありません。公開されているパートナーヘルプのガイダンスには、最大2行、言語別のスタイルガイド、一般要件における最小/最大イベント時間、米国英語のSDH規約における角括弧付き話者識別情報/効果音が含まれます。出典:Netflix Partner Help Center、2026-07-10確認。
適用する制作上のヒューリスティック
これらは制作上の基本方針です。正式なクライアントのスタイルガイド、放送局の仕様、言語ごとの字幕規則、またはプラットフォームの検証エラーがある場合は、そちらを優先してください。
- プラットフォームが対応している場合は、アクセシビリティのためにサイドカー字幕ファイルを優先してください。焼き込み字幕/オープン字幕は、プラットフォーム、広告出稿、またはユーザー体験上、常時表示されるテキストが必要な場合にのみ追加してください。
- ソーシャル向けに字幕を焼き込む場合も、編集可能なサイドカー/トランスクリプトのマスターを保持してください。焼き込み字幕は表示の切り替えやスタイル変更ができず、検索や翻訳もできません。また、支援技術で確実に利用することもできません。
- 事前収録されたメディアには、編集済みの字幕を使用してください。自動字幕は下書きのタイミング調整に役立ちますが、最終版では音声、話者の識別、句読点、効果音、固有名詞、タイミングを、人またはエージェントが確認する必要があります。
- 字幕キューは読みやすくしてください。通常は1~2行にし、行の長さのバランスを取り、自然なフレーズの切れ目を設け、急いで読まなくても読めるだけの表示時間を確保します。テキストが長すぎる場合は、意味と重要な語彙を保ったまま、重要でない重複表現だけを編集してください。
- キューは、対応する音声に合わせてタイミングを調整してください。発話や音の開始に近いタイミングで表示し、終わりに近いタイミングで消し、キュー同士の重複を避けます。また、ジョーク、種明かし、安全上重要な指示が聞こえる前に字幕が先行しないようにしてください。
- 字幕が顔、ローワーサード、製品の UI、グラフ、映像内の既存字幕、法的表示、またはプラットフォームの操作ボタンに重なる場合は、位置を調整してください。
- 生成動画では、アクセシビリティを考慮して台本と編集を設計することで、字幕作業を減らせます。競合する声を減らし、画面上のテキストを読みやすくし、可能であれば視覚情報をナレーションで説明し、必要に応じて音声解説用の間を設けてください。
字幕とSDHの作成
次の入力をもとに字幕マスターを作成します。
- ロック済みの映像と音声;
- ナレーション/セリフの最終稿または文字起こし;
- 話者の名前、肩書き、役割、発音、名前が初めて明かされるタイミングを記載した話者リスト;
- 製品名、固有名詞、頭字語、専門用語、法的な表現、創作・生成された名前をまとめた用語集;
- 音楽キューシートと歌詞の扱い;
- 画面上のテキスト、グラフ/データのコールアウト、映像のみで伝わるストーリー展開;
- 対象のフォーマット、フレームレート/タイムコードのルール、言語/ロケールタグ、スタイルガイド。
各字幕キューでは、次の点に注意します。
- 話された言葉を順番どおりに入れます。読みやすさや時間の制約から圧縮が必要で、採用する基準でも認められる場合を除き、言い換えはしません。
- 意味、語調、重要な語彙を保ちます。人物描写、ユーモア、安全性、指示に関わる場合は、意図的なスラング、文法上の誤り、繰り返し、ためらいも残します。
- 句読点は意味を明確にするために使い、装飾目的では使いません。
- 字幕の表示位置や映像から、誰が話しているのかを視聴者が確実に判断できない場合は話者を明記します。名前は、内容から明らかになった後にのみ使います。それまでは
[narrator]、[offscreen voice]、[woman 1]、またはクライアントが承認したラベルなど、中立的な表記を使います。 - 意味、雰囲気、安全性、ストーリー、指示に影響する非発話音を含めます。例:
[alarm blares]、[soft piano music]、[audience laughs]、[door unlocks]。些細な音をすべて字幕にする必要はありません。 - 歌詞が聞こえ、重要であれば、権利やクライアントの指示に従って字幕にします。歌詞を字幕にしない場合、音楽が視聴体験に影響するなら、その音楽を示します。
- その時点で聴覚障害のない視聴者が知り得ない情報を先に明かさないようにします。謎の話者の正体を示したり、どんでん返しを明かしたり、隠された原因を早く説明したりしません。
- 音や話者の識別を表す場合を除き、字幕に映像描写を含めないようにします。映像へのアクセスは、ナレーション、統合された描写、音声解説、または描写付き文字起こしで補います。
改行:
- 文、節、句の区切りで改行します。
- 冠詞と名詞、形容詞などの修飾語と名詞、姓名、助動詞と本動詞、前置詞とその目的語、主語の代名詞と動詞を分けないようにします。
- より自然に分けられる場合、ある文の終わりと次の文の始まりを同じ行に置かないようにします。
- 2人の話者による字幕キューはまれにとどめます。避けられない場合は、対象のフォーマット/プラットフォームに適した一貫した表記で、話者を視覚的に区別します。
タイミング:
- 台本のタイミングではなく、最終音声に字幕を合わせます。
- 読みやすさのために必要で、誤解を招かない場合を除き、発話後も字幕を長く表示し続けないようにします。
- 読みやすさが向上する場合は字幕間に間隔を設けます。ただし、間隔が短すぎてちらつくような表示は避けます。
- 話者の発話がさえぎられた場合は、中断が分かる句読点を使います。
- 免責事項、安全上の指示、法的文言の読み上げが速すぎる場合は、小さな字幕で問題を覆い隠すのではなく、読める速さでの読み上げを求めます。
焼き込み字幕/オープン字幕のデザイン
焼き込み字幕は、動く映像の上に表示するタイポグラフィです。読みやすいUIとしてデザインしてください。
- 代表的なすべてのフレームで十分なコントラストを確保してください。背景が変化する場合は、半透明のボックス、シャドウ、縁取り、またはグラデーションを追加してください。
- 想定される最小画面サイズと圧縮後の状態でも読める大きさにしてください。デスクトップモニターだけでなく、スマートフォンの画面サイズでも確認してください。
- プラットフォームUIのための余白を確保してください。字幕、ハンドル、リアクションボタン、プログレスバー、ローワーサード、安全領域は、プラットフォームや画面の向きによって異なります。
- 顔、リップシンク/アバター作品の口元、実演中の製品、図表、すでに表示されている字幕、手話通訳者の上に字幕を配置しないでください。
- アニメーションは控えめにしてください。単語ごとに動くキネティック字幕は、ソーシャルメディアでの視聴維持に役立つ場合がありますが、単語が抜けていたり、動きが速すぎたり、コントラストが不足していたり、オフにできなかったりする場合、アクセシブルな字幕の代わりにはなりません。
- 話者や意味を区別するために色だけを使わないでください。ラベル、配置、または色以外の手がかりと併用してください。
トランスクリプトと描写付きトランスクリプト
ユーザーから依頼された場合、音声のみのメディアの場合、トレーニング/検索/レビューのワークフローに役立つ場合、またはアクセシビリティ要件で時間ベースのメディアの代替手段が求められる場合は、トランスクリプトを提供してください。
基本的なトランスクリプト:
- 発話、話者名、意味のある非音声、音楽/歌詞に関する注記を含めてください。
- 明らかなASRの誤り、句読点、固有名詞を修正してください。
- ナビゲーションに役立つ場合は、見出しやタイムスタンプを追加してください。
描写付きトランスクリプト:
- 基本的なトランスクリプトに加え、画面上のテキスト、図表、動作、場面転換、実演、ジェスチャー、映像だけで伝わるジョークや指示など、重要な視覚情報を含めてください。
- 字幕や音声解説と同じ情報源を使用してください。
- 読者が動画を見たり聞いたりしなくても内容を理解できるよう、簡潔な描写を心がけてください。
音声解説の計画
可能であれば、ピクチャーロックの前に音声解説を計画してください。多くの解説動画、デモ、トレーニング動画では、最も低コストで簡潔な方法は統合型の解説です。つまり、重要な視覚情報を自然に伝えるよう、メインのナレーションを作成します。
方法を選んでください。
- 統合型の解説:新規の解説動画、トレーニング動画、画面デモ、製品の使い方を紹介する動画、ナレーションで重要な視覚情報に触れられる教育メディアに最適です。
- 独立した音声解説トラック:元の音声ミックスを変更せず、プレーヤー/プラットフォームが別の音声解説トラックに対応している場合に最適です。
- 解説付き動画の別バージョンを書き出す方法:プラットフォームがユーザー選択式の音声解説に対応していないものの、別バージョンをホストできる場合に最適です。
- タイミング付きテキスト解説ファイル:プレーヤーがテキストによる解説に対応している場合は利用できます。再生に対応しているか確認してください。
- 描写付きトランスクリプト:幅広い利用者へのアクセスを支援し、一部のWCAGの文脈では必須ですが、求められる適合レベルによっては、同期された音声解説の代わりにならない場合があります。
描写する内容:
- 重要な動作、人物の特定、場面転換、設定、図表、図解、画面操作、画面上のテキスト、製品の状態、ジェスチャー、映像だけで伝わる原因と結果を描写してください。
- 視聴者に状況を伝える際は、全体から具体的な内容へと順に説明してください。
- 内容を追い、理解し、楽しむために必要な情報を優先してください。すべての間を説明で埋めないでください。
- 現在形と能動態を使い、客観的な表現を心がけ、対象となる視聴者に適した語彙を使ってください。
- 目に見える事実で十分な場合は、感情や意図を解釈しないでください。感情が別の形で示されている、または明白で重要な場合を除き、「マヤは激怒している」より「マヤは拳を握りしめる」を優先してください。
- 可能であれば、視聴者が情報を必要とする時点より後ではなく、関連する映像の前または最中に解説を入れてください。
- 理解に不可欠な場合を除き、会話や重要な音声に解説を重ねないでください。
点滅、動き、感覚への配慮
生成されたモーショングラフィックス、グリッチ編集、稲妻、警報、カメラのフラッシュ、ストロボ、急速なカット、高コントラストのパターンのちらつき、赤色のフラッシュ、激しいキネティックタイポグラフィについて、感覚への安全性を確認してください。
- 有資格のテスターが、一般的なフラッシュまたは赤色のフラッシュの基準を下回ることを確認していない限り、WCAG の毎秒 3 回という基準を超えるフラッシュは避けてください。
- 全画面の白色または赤色のフラッシュ、高コントラストのフレームの交互表示、急速な反転効果、ストロボの繰り返し遷移は減らすか、削除してください。
- キャプション自体を点滅させたり、揺らしたり、回転させたり、ぼかしたり、位置を急速に変えたりしないでください。
- 動きの多い成果物では、視聴者やプラットフォームに応じて、動きを抑えたバージョンや刺激の弱い編集を検討してください。
- 警告を表示しても、危険な点滅を避けられるように設計できる場合に、それを避ける代わりにはなりません。
ローカライズの引き継ぎ
ローカライズを「SRT の翻訳」として扱わないでください。以下を含むパッケージを準備してください。
- 必要に応じて、レビュー用の焼き込みタイムコードを付けた最終動画の参照資料。
- 原文のトランスクリプトとキャプション。
- 話者の一覧、キャラクター名、提供されている場合は代名詞、役職・役割、発音に関する注記。
- 製品名、ブランド用語、頭字語、UI 文字列、法的表現、ジョーク、翻訳禁止用語の用語集。
- 対象者、文体・フォーマルさ、ロケール、読解レベル、プラットフォームの説明。
- 楽曲、歌詞、引用箇所、検閲・ビープ音で置き換えられた言葉、外国語のセリフに関する注記。
- 対象言語での字幕と SDH に関する個別の指示。
- 翻訳、吹き替え、差し替え、説明が必要な画面上のテキストを示すスクリーンショットまたはマーカー。
- 必須の出力形式、ロケールタグ、ファイル名。
ローカライズに関する判断:
- 言語・ロケールごと、用途ごとに別ファイルを作成してください。翻訳字幕、同一言語のキャプション/SDH、強制ナラティブ字幕、音声解説スクリプト、トランスクリプトは、それぞれ別の成果物です。
- 対象言語での読み上げ速度と字幕の慣例に基づいて、改行、句読点、表現の圧縮を決めてください。
- SDH では、話者の識別情報と意味のある非音声の音を保持してください。クライアントから SDH 形式の字幕を求められない限り、聴覚障害のない視聴者向けの標準的な翻訳字幕では、非音声の音を省略してもかまいません。
- 成果物が明示的に言語間字幕でない限り、同一言語のキャプション内にある原文のセリフは翻訳しないでください。
- 吹き替え版またはアバターをローカライズした動画では、キャプションを原文の台本ではなく、最終的な吹き替え音声に合わせてください。
QA チェックリスト
最終版の動画、音声、書き出しファイルを確認します。
内容:
- キャプションが最終版の音声と一致していることを確認します。追加・削除された行、録り直し、ビープ音、AI 音声の変更も含みます。
- 固有名詞、数字、URL、製品用語、単位、頭字語が正しいことを確認します。
- 話者 ID が正確で、情報が早すぎるタイミングで明かされていないことを確認します。
- 必要不可欠な非音声の音が含まれ、不要なノイズが取り除かれていることを確認します。
- アクセシビリティやタイミング上必要な場合を除き、キャプションが画面上のテキストと重複していないことを確認します。
タイミングと読みやすさ:
- キューの重複、負の表示時間、終了時刻の欠落、順序の入れ替わりがないことを確認します。
- キューが対応する音声の近くで表示・消去されることを確認します。
- 情報量の多い部分でも、想定する画面サイズで読みやすいことを確認します。
- 改行によってフレーズの意味が保たれていることを確認します。
- キャプションが重要な映像を隠していないことを確認します。
アクセシビリティとデザイン:
- プラットフォームが対応している場合、サイドカーキャプションを利用できることを確認します。
- 焼き込みキャプションが、代表的なフレーム全体でコントラストとセーフエリアの要件を満たしていることを確認します。
- 音声解説または統合された解説で、視覚情報のみの重要な内容がカバーされていることを確認します。
- 要望がある場合、または必要な場合は、詳細な書き起こしがあることを確認します。
- 点滅や動きに関するリスクが軽減され、記録されていることを確認します。
納品:
- ファイルが UTF-8 であることを確認します。
- SRT ではミリ秒にカンマを使用し、キューに番号を付けます。WebVTT は
WEBVTTで始まり、ミリ秒にピリオドを使用します。 - プラットフォームへのアップロード時に、言語・ロケールとタイプのラベルが正しいことを確認します。
- サイドカーファイルは、ローカルエディターだけでなく、対象のプラットフォームまたはプレーヤーでもテストします。
- ローカライズされたファイルでは、原文の改行をそのまま無批判に流用せず、対象言語のスタイルを使用します。
同梱の字幕バリデーター
このスキルには、標準ライブラリのみを使用する Python 3.11 以降のバリデーター scripts/validate_captions.py が含まれています。エージェントが引き渡し、プラットフォームへのアップロード、または回帰レビューの前に、SRT または WebVTT のサイドカーファイルの構造をローカルで決定論的にチェックする必要がある場合に使用してください。
検証内容:
- UTF-8 のデコード。
- ファイル全体の置換ではなく、キューブロック単位での SRT と WebVTT の構造解析。
- キューブロックより前にある WebVTT の
WEBVTT署名とヘッダーの分離。 STYLE、REGION、キューのタイミング設定に関する重点的な WebVTT 検証。未対応、重複、不正形式、または範囲外の設定は、無視されずに明確なエラーになります。- 自動検出、または明示的な
srt/vtt形式の指定。 - タイムスタンプの構文:SRT のコンマ区切りのミリ秒、WebVTT のピリオド区切りのミリ秒と
MM:SS.mmmまたはHH:MM:SS.mmm形式。 - キューの開始時刻が終了時刻より前であること。
- このツールの納品向けポリシーに従った、キューの順序と重複の警告/エラー。
- キューテキストの有無。
- テキストの最大行数と、1 行あたりの表示文字数の設定。
- 1 秒あたりの表示文字数に関する、設定可能な警告。
対象範囲:
- このツールは、WCAG、FCC、ADA、Section 508、放送局、ストリーマー、またはプラットフォームの準拠を証明するものではありません。
- このツールは、制作現場のサイドカーファイルで使われる WebVTT 設定の限定された範囲を検証します。
STYLEブロック内の CSS を完全に解析したり、プレイヤー固有のレンダリング動作を証明したりするものではありません。 - このツールは、音声に対する文字起こしの正確さ、話者の特定、翻訳の品質、意味上の完全性、コントラスト、配置、点滅の安全性、または特定の法的義務を満たすのに字幕が十分かどうかを判定しません。
- このツールは、字幕を書き換えたり、圧縮したり、翻訳したり、Unicode を正規化したり、意味上の編集を行ったりしません。
- 警告は、制作レビューが必要であることを示すシグナルとして扱ってください。一部の WebVTT の重複は構文上許容されますが、多くの字幕納品ワークフローでは読みやすいサイドカーファイルに重複がないことが求められるため、このバリデーターは重複を警告します。
CLI 呼び出しの例:
python skills/production/audio-craft/captions-media-accessibility/scripts/validate_captions.py captions_en.srt
python skills/production/audio-craft/captions-media-accessibility/scripts/validate_captions.py --format vtt captions_en.txt
python skills/production/audio-craft/captions-media-accessibility/scripts/validate_captions.py --max-lines 2 --max-chars-per-line 42 --cps-warning 20 captions_en.vtt
python skills/production/audio-craft/captions-media-accessibility/scripts/validate_captions.py --warnings-as-errors captions_en.srt
終了コード:
0:検証エラーはありません。--warnings-as-errorsが設定されていない場合、警告が含まれることがあります。2:検証エラー、または--warnings-as-errorsが設定されている場合の警告。3:読み取り不能なファイル、無効な UTF-8、不明な形式、WebVTT ヘッダーの欠落、不正なキューブロックなどの操作上の失敗または解析失敗。
JSON 出力スキーマ:
{
"tool": "validate_captions",
"version": "1.0.0",
"status": "passed",
"summary": {
"files": 1,
"cues": 2,
"errors": 0,
"warnings": 0
},
"files": [
{
"path": "captions_en.srt",
"format": "srt",
"cues": 2,
"errors": 0,
"warnings": 0
}
],
"findings": [
{
"severity": "warning",
"code": "characters_per_second",
"cue": 2,
"location": {
"file": "captions_en.srt",
"line": 6
},
"message": "Cue reads at 22.50 characters per second; warning threshold is 20"
}
]
}
安定した検出結果フィールドは severity、code、cue、location、message です。location には必ず file が含まれ、line と column が含まれる場合もあります。既知の検出コードには、invalid_utf8、file_read_failed、format_unknown、webvtt_header_missing、webvtt_header_invalid、webvtt_late_header_block、webvtt_timing_missing、srt_block_too_short、srt_index_invalid、timestamp_syntax、time_order、cue_order、cue_overlap、cue_text_missing、srt_index_sequence、max_lines、max_chars_per_line、characters_per_second、no_cues があります。
例
例:SNS 広告の字幕プラン
制作意図:ランニングアプリの 20 秒の縦型広告です。英語を原文とし、TikTok/Reels/YouTube Shorts にアップロードします。常時表示のクリエイティブ字幕と SRT マスターを用意します。
アプローチ:
- 最終ミックスから、逐語的で SDH 対応の SRT を作成します。
- 安全上重要な主張を省略しない場合に限り、視聴維持率向上を目的とした、より短いビジュアル字幕レイヤーを映像に焼き込みます。
- 字幕は画面下部の UI より上に配置し、アプリの画面録画に重ならないようにします。
- 屋外の昼間の映像とスマートフォンの UI が交互に表示されるため、半透明の暗い背景を使用します。
- インパクトのある切り替わりでフラッシュチェックを行い、白いフレームの点滅を取り除きます。
SRT の抜粋例:
1
00:00:00,200 --> 00:00:02,000
[upbeat electronic music]
2
00:00:02,100 --> 00:00:04,300
MAYA: I stopped guessing
what my training needed.
3
00:00:04,500 --> 00:00:07,000
Now RunPilot adjusts my plan
after every workout.
4
00:00:07,200 --> 00:00:09,100
[watch chimes]
Today's run just got easier.
このような構成にする理由:SRT にはアクセシビリティのために話者と音の情報を残します。一方、別途焼き込むクリエイティブレイヤーの文言を短くできるのは、サイドカーファイルが完全な内容を保っているためです。
想定される失敗例:プラットフォームの UI が最下行を隠す、ASR が「RunPilot」を「run pilot」と認識する、焼き込みレイヤーだけが納品されて [watch chimes] が省略される。
例:研修用解説動画の統合型音声解説
制作意図:ダッシュボードのフィルターをリセットする方法を紹介する、90秒のオンボーディング動画です。ユーザーが求めているのは、映画のようなストーリーではなく、アクセシブルな研修メディアです。
アクセシブルなナレーションへの書き換え:
Original narration:
"Click here, then choose last quarter."
Integrated description rewrite:
"In the left sidebar, open Filters, then choose Last quarter from the Date range menu."
追加の引き継ぎメモ:
- 視力のあるユーザーにもわかるよう、カーソルの対象を画面に表示し、強調表示してください。
- 最終版のナレーションに合わせて字幕を追加してください。
- 正確なメニューの経路と、画面上に表示される確認テキストを含む、説明的なトランスクリプトを追加してください。
- 編集で後からサイドバーのショットを削除する場合は、指示が引き続き伝わるよう、字幕とトランスクリプトの両方を更新してください。
このような構成にする理由:重要な視覚情報を音声の本編に移すことで、別の音声解説トラックが必要になる場面を減らし、すべての人にとって研修用スクリプトをよりよいものにできます。
例:ローカライズパッケージの概要
制作意図:英語の製品ローンチ動画を、スペイン語(ラテンアメリカ)、フランス語(フランス)、日本語にローカライズします。字幕と翻訳字幕が必要で、吹き替えは後から追加される可能性があります。
引き継ぎ:
Files:
- launch_final_ref_23976.mp4
- launch_en-US_captions_SDH.vtt
- launch_en-US_transcript_descriptive.md
- launch_source_dialogue_glossary.csv
- launch_on_screen_text_markers.csv
Deliverables requested:
- es-419 translated subtitles, not SDH, WebVTT
- fr-FR translated subtitles, not SDH, WebVTT
- ja-JP translated subtitles, not SDH, WebVTT
- separate translator notes for UI text that should remain in English
Style:
- Product name "Northstar Studio" is never translated.
- Tone is confident but not slang-heavy.
- Preserve the joke in scene 4 by adapting the idiom, not literal word order.
- If later dubbed, regenerate captions from the final dubbed audio.
このような構成にする理由:同一言語のアクセシビリティ用素材と翻訳字幕を分け、ロケールの対象を明示し、英語の改行を他の言語にそのまま適用することを避けられます。
参考資料
2026-07-10 に確認済み:
- W3C WCAG 2.2:https://www.w3.org/TR/WCAG22/
- W3C Understanding SC 1.2.5 Audio Description:https://www.w3.org/WAI/WCAG22/Understanding/audio-description-prerecorded
- W3C Understanding SC 2.3.1 Three Flashes or Below Threshold:https://www.w3.org/WAI/WCAG22/Understanding/three-flashes-or-below-threshold.html
- W3C Making Audio and Video Media Accessible:https://www.w3.org/WAI/media/av/
- W3C Transcripts:https://www.w3.org/WAI/media/av/transcripts/
- W3C Description of Visual Information:https://www.w3.org/WAI/media/av/description/
- Section508.gov の同期メディアに関するガイダンス:https://www.section508.gov/create/synchronized-media/
- 47 CFR Sec. 79.1 キャプション品質基準:https://www.law.cornell.edu/cfr/text/47/79.1
- DCMP Captioning Tip Sheet:https://dcmp.org/learn/225-captioning-tip-sheet
- DCMP Audio Description Tip Sheet:https://dcmp.org/learn/227-audio-description-tip-sheet
- YouTube ヘルプ:対応する字幕ファイルとクローズドキャプションファイル:https://support.google.com/youtube/answer/2734698
- Vimeo ヘルプ:キャプション/字幕のアップロードに関するガイダンス:https://help.vimeo.com/hc/en-us/articles/21956884955537-How-to-add-captions-or-subtitles-to-my-video
- Vimeo ヘルプ:キャプションファイルの種類:https://help.vimeo.com/hc/en-us/articles/21957353918609-Troubleshooting-Caption-file-types
- MDN WebVTT フォーマット:https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API/Web_Video_Text_Tracks_Format
- 米国議会図書館 WebVTT フォーマットの説明:https://www.loc.gov/preservation/digital/formats/fdd/fdd000567.shtml
- W3C WebVTT Candidate Recommendation Draft:https://www.w3.org/TR/webvtt1/
- 米国議会図書館 SRT フォーマットの説明:https://www.loc.gov/preservation/digital/formats/fdd/fdd000569.shtml
- Netflix Timed Text Style Guide general requirements:https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements
- Netflix English (USA) Timed Text Style Guide:https://partnerhelp.netflixstudios.com/hc/en-us/articles/217350977-English-USA-Timed-Text-Style-Guide