主要な字幕フォーマット解説:SRT、WebVTT、ASS、その他
字幕は、アクセシビリティ、言語学習、そしてソーシャルメディアでの消音視聴において不可欠です。しかし、字幕ファイルの世界は数十ものフォーマットで断片化されています。このガイドでは、現在最も一般的に使用されているフォーマットの完全なリファレンスを提供します。
1. クイック比較表
| フォーマット | 拡張子 | スタイリング | 最適な用途 | ブラウザサポート |
|---|---|---|---|---|
| SRT | .srt | 最小限 | 汎用的な互換性 | ネイティブ(変換経由) |
| WebVTT | .vtt | 強力 (CSS) | HTML5 ウェブビデオ | ネイティブ(非常に優秀) |
| ASS/SSA | .ass / .ssa | 高度 | アニメ、カラオケ、複雑なエフェクト | ライブラリが必要 |
| TTML | .ttml / .xml | プロフェッショナル | Netflix、放送 | 限定的なネイティブサポート |
| MicroDVD | .sub | 基本的 | レガシーなデスクトッププレーヤー | なし |
2. 各フォーマットの詳細解説
SRT (SubRip Subtitle)
その極端なシンプルさから、世界で最も広く使用されている字幕フォーマットです。
- 構造: シーケンス番号、タイムコード (00:00:00,000)、テキスト、および空行。
- メリット: テレビ、YouTube、VLC など、ほぼどこでも動作します。
- デメリット: 色、配置、フォント変更のネイティブサポートはありません(一部のプレーヤーは非公式の HTML 風タグをサポートしています)。
WebVTT (Web Video Text Tracks)
モダンなウェブ (HTML5) の標準です。SRT から派生しましたが、ブラウザ統合のために改良されました。
- 構造:
WEBVTTヘッダーで始まります。ミリ秒の区切りにはコンマではなくドットを使用します (00:00:00.000)。 - メリット: CSS スタイリング、配置、メタデータをサポート。
<track>タグでネイティブにサポートされています。 - デメリット: ハードウェアベースのテレビプレーヤーでは SRT ほど広くサポートされていません。
ASS/SSA (Advanced Substation Alpha)
「ファンサブ(有志による字幕制作)」コミュニティで好まれているフォーマットです。
- 構造: スタイルを定義する複雑なヘッダーと、それに続く「Dialogue」行で構成されます。
- メリット: 無限のスタイリングの可能性(ベクター描画、カラオケ効果、精密な配置)。
- デメリット: 非常に複雑。再生には
libassなどの専用プレーヤーやライブラリが必要です。
TTML (Timed Text Markup Language)
Netflix や Amazon Prime などの主要なストリーミングプラットフォームで使用されている XML ベースの標準です。
- メリット: 高度に構造化されており、複雑なレイアウトやグローバルな同期をサポート。
- デメリット: 手動での読み書きや編集が困難。主にプロフェッショナルのワークフロー向けです。
3. レガシーおよび放送用フォーマット
- SBV (SubViewer): YouTube の自動キャプションでよく使用されます。
- CEA-608 / CEA-708: 北米のテレビ放送における「クローズドキャプション」の標準。通常、独立したファイルではなくビデオストリームに直接埋め込まれます。
- SUB (MicroDVD): タイムコードではなくフレーム番号を使用します。2000年代初頭の DivX/Xvid 映画で非常に一般的でした。
4. よくある問題と FAQ
SRT を WebVTT に変換するには?
WebVTT はウェブビデオの標準であるため、SRT ファイルを変換する必要があることがよくあります。主な変更点は、WEBVTT ヘッダーの追加と、タイムコードの区切り文字をコンマ (,) からドット (.) に変更することです。
ブラウザで ASS 字幕がシンプルに表示されるのはなぜですか?
標準の HTML5 ビデオプレーヤーは ASS のフォーマットをネイティブにサポートしていません。複雑なスタイルをレンダリングするには、SubtitleOctopus や videojs-ass などの JavaScript ライブラリが必要です。
YouTube に最適なフォーマットは?
YouTube には SRT が最も安全な選択です。YouTube は VTT や SBV を含む多くのフォーマットをサポートしていますが、SRT は異なるデバイス間でも改行や基本的なフォーマットを最も確実に処理します。
字幕が「文字化け」しています。なぜですか?
これは通常、エンコーディングの問題です。ほとんどのモダンなプレーヤーは UTF-8 エンコーディングを想定しています。ファイルが古いエンコーディング(GBK や ISO-8859-1 など)の場合、特殊文字が壊れます。解決するにはファイルを UTF-8 として保存し直してください。
まとめ
適切な字幕フォーマットの選択は、対象となるプラットフォームによって異なります。
- ウェブの場合: 常に WebVTT を使用。
- 一般的な配布の場合: SRT を使用。
- 芸術的なコンテンツの場合: ASS を使用。
まずビデオコンテンツを書き起こす必要がありますか?ビデオからテキストへ ツールをチェックして、これらの字幕フォーマットに簡単に変換できる高品質なトランスクリプトを作成しましょう。