SRTとVTTの違いを解説:どちらを選ぶべきか、変換方法まで

Dzianis Kukareka, 創業者 · 更新日

SRTとVTTの違いを解説:どちらを選ぶべきか、変換方法まで

SRTとVTTの違いをひと言でまとめると、SRTはほぼどこでも読み込める汎用の標準形式、VTT(WebVTT)はHTML5の動画プレーヤー向けにスタイル・表示位置・メタデータを加えたWeb向けの形式です。元データを1つだけ持つならSRTにして、プラットフォームに求められたときに変換しましょう。肝心な方向の変換なら情報は何も失われず、数秒で終わります。

2つの形式の正体

どちらも、どんなエディターでも開けるプレーンテキストのファイルです。中身の基本も同じで、番号付きの字幕ブロック(キュー)が並び、それぞれに開始時刻、終了時刻、表示するテキストが入っています。

SRT(SubRip)

2つのうち古くてシンプルなほうです。1つのキューはこのような形です。

1
00:00:03,400 --> 00:00:06,177
Welcome back to the show.

タイムスタンプにカンマが使われている点に注目してください。これがSRTにおけるミリ秒の区切り文字です。書式のサポートは最小限で、太字や斜体のタグは多くの環境で(すべてではありませんが)反映される、という程度です。このシンプルさこそが、編集ソフト、動画プラットフォーム、放送の制作現場まで、あらゆるところで対応されている理由です。

VTT(WebVTT)

WebVTTは、HTML5の<track>要素向けに設計されたW3Cの標準規格です。見た目は似ていますが、先頭にWEBVTTというヘッダーがあり、タイムスタンプにはピリオドを使います。

WEBVTT

1
00:00:03.400 --> 00:00:06.177
Welcome back to the show.

同じキューの構造に加えて、VTTにはWebプレーヤーに必要な機能が備わっています。CSSに似たスタイル指定、キューごとの表示位置(この行は画面の上に出す、など)、話者を示すボイスタグ、コメントブロックです。ブラウザはVTTを標準で表示できますが、<track>タグにSRTファイルを指定しても何も表示されません。

SRTとVTTの違いで実際に重要なポイント

SRTVTT
タイムスタンプの区切りカンマ(00:00:03,400)ピリオド(00:00:03.400)
ヘッダーなしWEBVTTが必須
スタイルせいぜい基本的な太字・斜体色、フォント、CSSクラス
表示位置の指定不可可能(キューごと)
話者のボイスタグなし(名前は本文に書く)あり(<v Name>)
HTML5ブラウザでの表示非対応標準対応
ツール全般での対応ほぼすべてWeb中心

どちらを使うべき?

  • YouTubeやSNSにアップロードする:SRT。どのプラットフォームでも受け付けてもらえ、スタイルを付けてもどのみち無視されるか上書きされます。

  • 自分のサイトに動画を埋め込む:VTT。<track>要素が想定している形式であり、表示位置を指定すれば画面上の文字と字幕が重ならないようにできます。

  • 編集者やクライアントにファイルを渡す:特に指定がなければSRT。どこでも開けて、どんなツールを経由しても崩れません。

  • 字幕の元データを保管する:SRT。将来どんな環境でも使える互換性の高さがあり、VTTはいつでもそこから作れます。

相互に変換する方法

ファイル1つだけなら、無料のSRT→VTT変換ツールを使いましょう。ヘッダーの追加、区切り文字の置き換え、文字コードの処理を一度に済ませてくれます。放送用や編集ソフト向けの形式も扱うなら、ほかの形式にも対応した字幕変換ツールが便利です。

SRTからVTTへの変換では何も失われません。SRTで表現できることは、すべてVTTにも収まるからです。一方、VTTからSRTへの変換ではスタイルや表示位置が失われることがあります。テキストとタイミングは残りますが、見せ方は残りません。この非対称性を考えても、1つの形式を手作業で管理するより、両方を書き出せるツールで字幕を作るほうが理にかなっています。

一から字幕を作るなら、この悩み自体がほぼなくなります。字幕生成ツールなら文字起こしを一度作るだけで、必要に応じてSRTでもVTTでも書き出せます。形式は悩むべき判断ではなく、書き出し時の設定の1つになるわけです。手順は動画に字幕をつける方法のガイドで紹介しています。

よくある落とし穴

  • カンマとピリオドの置き換え。「変換した」ファイルが読み込めない原因として最も多いのがこれです。一括置換でタイムスタンプを取りこぼしたり、置き換えるべきでない本文まで変えてしまったりします。

  • WEBVTTヘッダーの欠落。1行目がないVTTファイルは無効で、ブラウザはエラーも出さずに読み込みを拒否します。

  • 文字コード。UTF-8を使いましょう。ほかの文字コードの字幕は、世の中のプレーヤーの半分でアクセント付きの文字やラテン文字以外の文字(日本語を含む)が文字化けします。

  • キューの重なり。許容するプレーヤーもあれば、しないプレーヤーもあります。意図的に行を重ねる場合を除き、キューの時刻は順番どおりに並べましょう。

よくある質問

.srtを.vttにリネームするだけではだめですか?

だめです。ヘッダーとタイムスタンプの区切り文字が違います。小さな変換とはいえ変換は必要で、名前を変えただけのファイルはブラウザで表示できません。

YouTubeが推奨している形式はどちらですか?

YouTubeはどちらにも(ほかのいくつかの形式にも)対応しています。SRTが定番になっているのは、同じファイルをほかのどのプラットフォームでもそのまま使えるからです。

SRTとVTTで字幕の品質やSEOに差は出ますか?

テキストの中身は同じで、インデックスされるのはそのテキストです。違うのは表現できる見せ方であって、品質や検索での見つかりやすさではありません。

SSA/ASSやTTMLなど、ほかの形式は?

カラオケ風の装飾(ASS)や放送(TTML)向けの専門的な形式です。必要な現場ならそれとわかるはずで、それ以外の人にとっては、SRTとVTTがあれば今の環境はカバーできます。

まとめ

考えすぎる必要はありません。字幕は一度だけ作り、SRTを元データとして保管し、WebプレーヤーにはVTTを渡し、変換は一括置換ではなく専用のツールで行いましょう。2つの形式は、同じ字幕を入れる2種類の器にすぎません。品質を決めるのは文字起こしとタイミングであり、力を注ぐべきはそこです。

録音をすぐに使えるテキストに変える

音声や動画をアップロード、YouTubeリンクを貼り付け、またはブラウザで録音するだけで、話者ラベル付きの文字起こしが120以上の言語で数分で手に入ります。

BlaBlaScribeを無料で試す

クレジットカード不要・ファイルは暗号化・AI学習には一切使用しません

人気記事