SRT vs VTT:字幕形式の比較ガイド
SRT vs VTTを比較:SubRipとWebVTT字幕形式の違い、各プラットフォームのサポート状況、どちらを使うべきかを解説します。
SRT(SubRip Text)とVTT(WebVTT)は最も広く使用されている2つの字幕ファイル形式です。SRTはほぼすべてのビデオプレーヤーがサポートするレガシー標準であり、VTTはスタイリングとポジショニング機能を組み込んだHTML5ビデオ向けの最新Web ネイティブ形式です。
適切な字幕形式を選ぶことは、互換性、スタイリングオプション、プラットフォーム間でのキャプションの表示に影響します。このガイドでは、SRTとVTTがどのように異なるか、どのプラットフォームがそれぞれをサポートしているか、どちらを選ぶべきかを詳しく説明します。
SRTとは?
SRTはSubRip Textの略で、1990年代後半にSubRipソフトウェア(DVDから字幕を「リッピング」抽出するツール)の一部として生まれた字幕形式です。その古さにもかかわらず、SRTは業界で最も普遍的にサポートされている字幕形式であり続けています。
SRTファイルは.srt拡張子を持つプレーンテキストファイルです。各字幕エントリは3つの部分で構成されています:連番のインデックス、開始時間と終了時間を示すタイムコード行、そして1行以上の字幕テキスト。エントリは空行で区切られます。
SRTファイルの構造は以下の通りです:
1
00:00:01,000 --> 00:00:04,000
これは最初の字幕行です。
2
00:00:05,500 --> 00:00:08,200
これは2番目の字幕です。
複数行にまたがることができます。
3
00:00:10,000 --> 00:00:13,750
話者の識別はテキスト内で
手動で行われます。
SRT形式の主な特徴:
- タイムコード形式:
HH:MM:SS,mmm(時、分、秒、ミリ秒をカンマで区切る) - 連番:各キューは1から始まる番号が付けられる
- プレーンテキストのみ:スタイリング、色、ポジショニングのネイティブサポートなし
- エンコーディング:通常UTF-8、ただし古いファイルは他のエンコーディングを使用する場合あり
- 矢印セパレーター:開始時間と終了時間は
-->で区切られる
SRTのシンプルさは、最大の強みであると同時に主な制限でもあります。どのテキストエディターでもSRTファイルを作成・編集でき、事実上すべてのビデオプレーヤーと編集アプリケーションが読み取れます。ただし、フォントサイズ、色、配置、その他の視覚的なプロパティは形式仕様内で制御できません。
VTTとは?
VTTはWebVTT(Web Video Text Tracks)の略で、W3C(World Wide Web Consortium)がHTML5の<video>要素および<track>要素で使用するために特別に開発した字幕・キャプション形式です。仕様は2010年に初めて公開され、W3C勧告となり、Webベースのビデオキャプションの公式標準となっています。
VTTファイルは.vtt拡張子を持つプレーンテキストファイルです。ヘッダーWEBVTTで始まる必要があり、オプションでメタデータが続きます。各キューにはオプションの識別子、タイムコード行、字幕テキストを含めることができます。
VTTファイルの構造は以下の通りです:
WEBVTT
Kind: captions
Language: en
intro
00:00:01.000 --> 00:00:04.000
これは最初の字幕行です。
00:00:05.500 --> 00:00:08.200
これは2番目の字幕です。
複数行にまたがることができます。
styled-cue
00:00:10.000 --> 00:00:13.750 position:10% align:start
<v Speaker 1>このキューにはポジショニングと
話者IDのボイスタグがあります。</v>
VTT形式の主な特徴:
- 必須ヘッダー:すべてのファイルは
WEBVTTで始まる必要がある - タイムコード形式:
HH:MM:SS.mmm(ミリ秒にはカンマではなくピリオドを使用) - オプションのキュー識別子:キューには連番ではなく名前付きIDを持たせることが可能
- CSSスタイリングサポート:
::cue擬似要素によるCSSスタイリングをサポート - ポジショニング:キュー設定で垂直、行、位置、サイズ、配置の制御が可能
- ボイスタグ:
<v Speaker Name>タグにより形式内での話者識別が可能 - メタデータヘッダー:追加コンテキスト用の
WEBVTTヘッダー後のキー・バリューペア - コメント:ファイルレベルの注釈用の
NOTEブロックをサポート
VTTは、古い字幕形式の制限に対処しつつ、Web技術とネイティブに統合するように設計されました。CSSスタイリング、話者ボイスタグ、キューポジショニングのサポートにより、Webベースのビデオプレーヤーにおいて、SRTよりも大幅に表現力が高くなっています。
SRT vs VTT:主な違い
SRTとVTTは一見似ているように見えますが、ファイル拡張子以外にもいくつかの重要な点で異なります。
| 機能 | SRT | VTT |
|---|---|---|
| ファイル拡張子 | .srt |
.vtt |
| ファイルヘッダー | 不要 | WEBVTTが必要 |
| タイムコード区切り | カンマ(,) |
ピリオド(.) |
| キュー番号 | 連番が必要 | オプションの名前付き識別子 |
| テキストスタイリング | 非対応 | CSS ::cueスタイリング、太字、斜体、下線 |
| ポジショニング | 非対応 | 行、位置、サイズ、配置の設定 |
| 話者識別 | 手動(テキストベース) | ネイティブボイスタグ(<v>) |
| コメント | 非対応 | NOTEブロックをサポート |
| メタデータ | 非対応 | ヘッダーメタデータのキー・バリューペア |
| HTMLタグ | 限定的(一部プレーヤーは<b>、<i>をサポート) |
完全サポート(<b>、<i>、<u>、<c>、<v>、<lang>) |
| 文字エンコーディング | 異なる場合あり(UTF-8推奨) | UTF-8が必須 |
| Web標準 | いいえ | W3C勧告 |
ほとんどのユーザーにとっての最も実用的な違いは、互換性と機能の対比です。SRTはどこでも動作しますが、時間指定テキストの表示以外には何もしません。VTTはWeb上で豊富なフォーマットオプションを持ちネイティブに動作しますが、デスクトップのビデオエディターやレガシーメディアプレーヤーでのサポートは狭くなっています。
プラットフォーム互換性
どのプラットフォームがどの形式を受け入れるかを知ることで、時間を節約し、変換の手間を避けることができます。以下は主要なプラットフォームとツールのサポート状況です。
| プラットフォーム/ツール | SRT | VTT | 備考 |
|---|---|---|---|
| YouTube | あり | あり | 両方を手動アップロードで受付、SRTを自動生成 |
| Vimeo | あり | あり | 両方を受付、スタイリングにはVTTを推奨 |
HTML5 <video> |
なし | あり | VTTがネイティブサポートされる唯一の形式 |
| VLC Media Player | あり | あり | 両形式を完全サポート |
| Adobe Premiere Pro | あり | なし | SRTのインポート/エクスポート、VTTのネイティブサポートなし |
| DaVinci Resolve | あり | なし | インポートにはSRTが推奨 |
| Final Cut Pro | あり | なし | SRTとiTTをサポート |
| Facebook / Instagram | あり | あり | アップロードにはSRTが推奨 |
| TikTok | あり | なし | クローズドキャプションアップロードにSRT |
| Netflix | 両方(TTML経由) | 両方(TTML経由) | 納品にはTTML/DFXPを推奨 |
| Zoom | あり | あり | クラウド録画にVTT |
| Microsoft Teams | あり | あり | 会議の文字起こしにVTTを生成 |
| WordPress | なし | あり | HTML5ビデオがVTTをネイティブに使用 |
| Wistia | あり | あり | キャプションアップロードに両方を受付 |
一般的なパターン:Webプラットフォームと最新のツールはVTTをサポートし、ビデオ編集ソフトウェアとレガシープレーヤーはSRTを好みます。Web再生用のコンテンツを制作している場合、VTTが自然な選択肢です。エディターにファイルを納品したり、ソーシャルメディアにアップロードしたりする場合、SRTがより安全な選択です。
SRTを使うべき場合
フォーマット制御よりも幅広い互換性が重要な場合は、SRTを選びましょう。
ビデオ編集ワークフロー。 ほとんどのプロ用編集ソフトウェア(Premiere Pro、DaVinci Resolve、Final Cut Pro、Avid Media Composer)はSRTをネイティブに処理します。字幕ファイルをエディター間で移動する必要がある場合、SRTは変換の問題を回避します。
ソーシャルメディアへのアップロード。 TikTokやInstagramのようなプラットフォームは、焼き付けまたはクローズドキャプション用にSRTを受け入れます。ソーシャルプラットフォームにキャプションをアップロードする場合、SRTが唯一受け入れられる形式であることがよくあります。
レガシーシステムサポート。 古いメディアプレーヤー、セットトップボックス、DVD/Blu-rayオーサリングツールはSRTを中心に構築されていました。視聴者が古い再生ハードウェアやソフトウェアを使用している場合、SRTは互換性を保証します。
シンプルさと携帯性。 SRTファイルは非常に簡単に作成、編集、デバッグできます。覚えるべきヘッダーも、特別な構文もなく、形式は初めて見る人でも自明です。
フリーランスおよびクライアントへの納品。 クライアントやコラボレーターに字幕ファイルを納品する場合、SRTは説明不要で受信者が使用するツールで動作するため、最も安全なデフォルトです。
VTTを使うべき場合
Webネイティブの機能、スタイリング、またはアクセシビリティコンプライアンスが必要な場合は、VTTを選びましょう。
HTML5 Webビデオ。 <video>要素を使用してWebサイトにビデオを埋め込む場合、VTTは<track>タグでサポートされる唯一の字幕形式です。変換レイヤーやJavaScriptライブラリは不要です。
スタイル付き字幕。 VTTでは::cue擬似要素を使用してCSSスタイリングをキャプションに適用できます。フォント、色、背景、不透明度、テキストシャドウを標準CSSで制御できます。
video::cue {
background-color: rgba(0, 0, 0, 0.7);
color: #ffffff;
font-size: 1.2em;
}
キャプションのポジショニング。 VTTは正確な配置のためのキュー設定をサポートしています。これは画面上のグラフィック、話者名、ロワーサードオーバーレイを避けるのに便利です。
00:00:10.000 --> 00:00:14.000 position:10% line:0 align:start
このキャプションは左上に表示されます。
話者識別。 VTTのボイスタグ(<v>)は話者を識別する構造化された方法を提供し、会議の文字起こし、インタビュー、複数話者のコンテンツに便利です。プレーヤーはこれらのタグを使用して異なる話者を異なる色でスタイリングできます。
アクセシビリティコンプライアンス。 WebコンテンツのWCAG 2.1コンプライアンスには、HTML5アクセシビリティAPIと統合し、キャプション(聴覚障害者向け)と説明(視覚障害者向け)の両方をサポートするVTTが推奨形式です。
SRTとVTTの変換方法
SRTとVTTの変換は、形式の構造が似ているため簡単です。
SRTからVTTへの変換
SRTファイルを手動でVTTに変換するには:
- ファイルの最初の行に
WEBVTTを追加 - ヘッダーの後に空行を追加
- タイムコードのすべてのカンマをピリオドに置換(
00:00:01,000を00:00:01.000に) - オプションで連番のキュー番号を削除(VTTでは必須ではない)
.vtt拡張子でファイルを保存
変換前(SRT):
1
00:00:01,000 --> 00:00:04,000
プレゼンテーションへようこそ。
2
00:00:05,500 --> 00:00:08,200
今日は3つのトピックをカバーします。
変換後(VTT):
WEBVTT
00:00:01.000 --> 00:00:04.000
プレゼンテーションへようこそ。
00:00:05.500 --> 00:00:08.200
今日は3つのトピックをカバーします。
VTTからSRTへの変換
VTTファイルをSRTに変換するには:
WEBVTTヘッダーとすべてのメタデータ行を削除- タイムコードのすべてのピリオドをカンマに置換(
00:00:01.000を00:00:01,000に) - 各タイムコード行の前に連番のキュー番号を追加
- VTT固有の機能(ボイスタグ、ポジショニング、CSSクラス)を削除
.srt拡張子でファイルを保存
自動変換
バッチ変換や頻繁な形式切り替えには、Vocovaのようなツールが自動的に処理します。Vocovaで音声や動画から字幕を生成すると、手動変換なしでSRTとVTTの両方に直接エクスポートできます(PDF、DOCX、CSV、TXTも同様)。これは同じコンテンツを異なるプラットフォーム向けに複数の形式で必要とする場合に特に便利です。
ほとんどのビデオ編集アプリケーションやオンライン字幕エディターにも組み込みの形式変換が含まれています。FFmpegはコマンドラインで形式間を変換できます:
ffmpeg -i subtitles.srt subtitles.vtt
知っておくべきその他の字幕形式
SRTとVTTはほとんどのユースケースをカバーしますが、専門的な用途向けにいくつかの他の形式が存在します。
ASS / SSA(Advanced SubStation Alpha)
ASSとその前身SSAは、アニメのファンサブコミュニティで人気のある字幕形式です。フォント、色、アニメーション、カラオケエフェクト、正確な画面上のポジショニングを含む高度なスタイリングをサポートしています。ASSファイルはSRTやVTTよりもかなり複雑で、主にVLCやMPC-HCのようなメディアプレーヤーで使用されます。ほとんどのWebプラットフォームはASSファイルを直接受け入れません。
TTML(Timed Text Markup Language)
TTMLはW3Cが維持するXMLベースの字幕形式です。Netflix、BBC、その他の主要コンテンツ配信者を中心に、プロの放送やストリーミングワークフローで使用されています。TTMLはリッチスタイリング、リージョンベースのポジショニング、単一ファイルでの複数の字幕トラックをサポートしています。XML構造のため冗長ですが、高度に構造化されています。
SCC(Scenarist Closed Captions)
SCCは北米の放送テレビで使用されるレガシー形式です。CEA-608クローズドキャプションデータをエンコードし、米国のFCCコンプライアンスのキャプションに必要です。SCCファイルは人間が読めるものではなく、作成・編集には専門的なソフトウェアが必要です。放送テレビ用のコンテンツを制作している場合、キャプションベンダーがSCCファイルを納品する可能性が高いです。
SBV(SubViewer)
SBVは、歴史的にYouTubeが自動生成キャプションに使用していたシンプルな字幕形式です。SRTと構造的に似ていますが、異なるタイムコード形式を使用しています。SBVはYouTubeアップロードにおいてSRTとVTTにほぼ取って代わられています。
よくある質問
YouTubeにSRTファイルをアップロードできますか?
はい。YouTubeは手動での字幕アップロードにSRTファイルとVTTファイルの両方を受け入れます。YouTube Studioのビデオの「字幕」セクションからアップロードできます。YouTubeはキャプションも自動生成し、SRT形式でダウンロードできます。
VTTはスタイリングと色をサポートしていますか?
はい。VTTは::cue擬似要素によるCSSスタイリング、<b>、<i>、<u>などのインラインタグ、<c.classname>によるクラスベースのスタイリングをサポートしています。フォントの色、背景色、テキストサイズ、不透明度を制御できます。ただし、すべてのビデオプレーヤーがVTTスタイルをレンダリングするわけではなく、サポートはプレーヤーの実装に依存します。
アクセシビリティにはどちらの形式が適していますか?
VTTはWebアクセシビリティコンプライアンスの推奨形式です。HTML5アクセシビリティAPIと統合し、kind属性(キャプション、説明、チャプター)をサポートし、ボイスタグによる話者識別を可能にします。Webビデオに関するWCAG 2.1コンプライアンスには、<track>要素を使用したVTTが標準的なアプローチです。
SRTファイルに太字や斜体のフォーマットを含めることはできますか?
SRT仕様にはフォーマットが含まれていません。ただし、多くのビデオプレーヤーはSRTキュー内の基本的なHTMLタグ(<b>、<i>、<u>)を解釈してレンダリングします。この動作はすべてのプレーヤーで保証されているわけではないため、重要なフォーマットにこれを頼ることはリスクがあります。
字幕ファイルの最大ファイルサイズはどのくらいですか?
SRTにもVTTにも形式レベルのファイルサイズ制限はありません。プラットフォーム固有の制限は異なります:YouTubeは最大10MBの字幕ファイルを許可しますが、ほとんどのプラットフォームは一般的な動画の長さでは1MB未満のファイルを受け入れます。1時間の動画は通常50〜150KBの字幕ファイルを生成します。
音声や動画からSRTまたはVTTファイルを生成するにはどうすればよいですか?
自動音声認識ツールで音声や動画を文字起こしすることで字幕ファイルを生成できます。Vocovaのようなサービスは、100以上の言語でタイムスタンプと話者ラベル付きの音声文字起こしを行い、SRT、VTT、その他の形式に直接エクスポートできます。字幕生成ツールの比較については、最高のAI字幕生成ツールのガイドをご覧ください。