RRecast

字幕ファイル形式

SRTとVTTの違い:実例と使い分け

SRTとWebVTTの構文、ブラウザー対応、スタイルの制限を比較。対応する字幕例を使って、形式変換時の確認点を解説します。

執筆: Recast · 公開日: · 更新日:

2つの字幕文書が共通の時間軸でつながるイラスト。

まず結論

配信先が求める字幕形式を使いましょう。SRTは編集ソフトや動画サービスで広く使われる文字と時間の受け渡し形式です。WebVTTはウェブ動画のHTML track要素で使われます。どちらも文字と時間を保持しますが、動画を含まず、翻訳音声も作りません。変換でスタイルが自動的にすべて残るわけでも、言葉が翻訳されるわけでもありません。

SRTとVTTの実用上の違い

SRTはSubRip Subtitleの略で、VTTファイルはWebVTT形式を使います。どちらも読めるテキストファイルですが、構文と機能が異なります。拡張子が新しく見えるから良い結果になると考えず、配信先に合わせて選んでください。

SRTとVTTの実用上の違い
項目SRTWebVTT
拡張子.srt.vtt
先頭のヘッダーWEBVTTヘッダーなしWEBVTTで始まる
基本のタイムスタンプ00:00:01,000 --> 00:00:03,00000:00:01.000 --> 00:00:03.000
字幕区間の識別子通常は連番識別子は任意
書式と配置基本的な書式の対応はアプリによる区間設定やスタイルはプレーヤーの対応による
HTML動画のテキストトラック標準のHTML track用には変換が必要HTMLのtrack要素で利用

同じ2つの字幕を両方の形式で見る

このオリジナルの英語サンプルは携帯用マグの架空のデモを説明しており、顧客動画や翻訳結果ではありません。最初の字幕は1秒から3秒、次は3.5秒から5秒です。両ファイルの文字と時間は同一です。

WEBVTTヘッダー、字幕区間間の空行、ミリ秒の前のカンマとピリオドの違いに注目してください。拡張子だけを書き換えても、内容は別の形式に変わりません。

SRTの例(英語)
1
00:00:01,000 --> 00:00:03,000
Meet the travel mug.

2
00:00:03,500 --> 00:00:05,000
Keep the lid closed.
WebVTTの例(英語)
WEBVTT

1
00:00:01.000 --> 00:00:03.000
Meet the travel mug.

2
00:00:03.500 --> 00:00:05.000
Keep the lid closed.

どちらの形式を使うべき?

動画サービスや編集ソフトでは、まず対応形式の一覧を見ます。SRTが指定され、単純な時間付き字幕を使うならSRTを渡してください。すでに受け付けられるファイルを、根拠のない品質やSEOの優位性を求めて変換する必要はありません。

標準のHTML動画テキストトラックにはWebVTTを使います。track要素が字幕ファイルとメディアを結び付け、言語を指定します。VTTをアップロードしただけでページ中のすべての動画につながるわけではなく、プレーヤー側の適切な設定が必要です。

YouTubeは両形式を挙げていますが、制限は異なります。基本的なSRT対応ではスタイル指定を無視し、WebVTTのスタイル対応も限定的です。仕様に機能があることと、すべての配信先で実装されていることは別なので、実際のプレーヤーで確認します。

変換時に何が変わる可能性がある?

単純な字幕文字と時間は比較しやすい情報です。一方、WebVTTの高度な位置指定、領域、スタイル規則、メタデータには、基本的なSRT出力で信頼できる一対一の対応がありません。重要な機能なら元ファイルを保管してください。

Recastの変換ツールはタイムスタンプを検証し、不正な時間付き字幕を黙って捨てるのではなく、形式の不正な入力を拒否します。形式をまたぐ変換では連番を書き込み、WebVTTのNOTE、STYLE、REGIONブロックを省略します。基本的な字幕変換であり、全機能の保持を保証するものではありません。

TXTに変換すると時間情報がなくなります。TXTから戻すと、空でない各行に3秒の仮の字幕区間を作ります。元の時間を復元したり動画を聞いたりする処理ではありません。再利用の可能性があるなら、時間付きの元ファイルを残してください。

VTTの短い時刻は、壊れたSRTの時刻ではない

WebVTTは00:01.000のように分と秒で時刻を書けます。Recastはこの短い形式と、時間を含むWebVTT時刻の両方に対応します。下の英語の字幕区間は1秒から2秒のSRTになるべきで、消えたり時間なしの文字になったりしてはいけません。

変換に失敗した場合は、元の形式、WEBVTTヘッダー、時刻の構文を確認します。ミリ秒は3桁にし、分と秒は有効な範囲に収めます。終了は開始より後でなければなりません。エラーを無視せず、ファイルを直して出力全体を確認してください。

短い時刻のWebVTT入力(英語)
WEBVTT

00:01.000 --> 00:02.000
Close the lid.
期待されるSRT出力(英語)
1
00:00:01,000 --> 00:00:02,000
Close the lid.

変換後のファイルを使う前の簡単な確認

元ファイルを選び、出力形式を指定してプレビューを確認します。プレビューは先頭部分だけの場合があるため、動画に付ける前にダウンロードして全体を見てください。選んだ字幕の内容はブラウザー内で変換され、この無料ツールにアカウントは不要です。

  • 最初、途中、最後の字幕を元ファイルと比較する。
  • 欠けた行、変わったアクセント記号、予期せずずれた時刻を探す。
  • 形式だけの変換でも、重要な商品名と数字を確認する。
  • 実際の動画と一緒に読み込み、シーク、改行、配置、読みやすさを確認する。
  • 元ファイルを保管し、意図して削除したスタイルやメタデータを記録する。

この形式で動画の作成や翻訳はできる?

できません。字幕ファイルに動画のフレームや音声トラックは含まれません。固定字幕付きのMP4を作るには、元動画と字幕ファイルを焼き込みツールに渡します。出力動画のその字幕は非表示にできません。

SRTからVTTへの変更でも言語は変わりません。翻訳、文字起こし、吹き替えは別の処理です。必要なのが拡張子の変更ではなく商品動画のローカライズなら、Studioの対応ワークフローを確認し、公開前に結果をレビューしてください。

出典と参考資料