SRTは多くのメディアプレーヤーで使えますが、ブラウザのネイティブなHTML5字幕ではWebVTTがよく使われます。動画ページで .vtt ファイルが必要なら、各キューを手作業で書き直さずにSRTをオンラインでVTTへ変換できます。SRTからVTTへの変換ツールはタイムスタンプの形式を変え、必要なWEBVTTヘッダーを追加し、字幕テキストをブラウザ内で保持します。
SRTとVTTは同じ字幕の考え方を使う
どちらも複数の字幕キューを保存する形式です。各キューには表示時間の範囲と、その時間に表示するテキストがあります。主な構文の違いはミリ秒の区切りです。SRTは通常 00:00:02,500 のようにカンマを使い、WebVTTは 00:00:02.500 のようにピリオドを使います。
WebVTTはWEBVTTヘッダーで始まり、ブラウザ向けの位置指定やスタイルにも対応します。変換ではこうした構造を処理するため、出力ファイルをHTML5動画のtrack字幕トラックで読み込めます。
オンラインでSRTをVTTに変換する方法
1. 元のSRTを残す
変換前に元の字幕ファイルを保存します。デスクトッププレーヤー用の予備を残せますし、別の形式が必要になったときも最初から作り直さずに済みます。
2. SRTからVTTへの変換ツールを開く
オンラインSRTからVTTへのツールを開き、10MB以下のSRTファイルを1つ選びます。ツールはブラウザ内でファイルを解析するため、字幕テキストを変換サーバーへ送る必要はありません。
3. 変換してキューを確認する
変換を開始してプレビューを確認します。WEBVTTヘッダーがあり、字幕テキストが読め、秒とミリ秒の間がピリオドになっていることを見ます。最初と最後のキューが残っているか、番号や空行によってテキストがつながっていないかも確認してください。
4. WebVTTファイルをダウンロードする
.vtt の結果をダウンロードし、動画の字幕トラックとして使います。product-demo.ja.vtt のようにファイル名を付けると、言語とバージョンを識別しやすくなります。
SRTからVTTへの変換でよくある問題
ブラウザでファイルが無効と表示される
ファイルがWEBVTTで始まり、すべてのキューに有効な時間範囲があるか確認します。時間範囲は --> で区切った2つのタイムスタンプを使い、開始が終了より前である必要があります。不要なメモや対応していないテキストを削除して再試行してください。
字幕が早すぎる、または遅すぎる
形式の変換は時間を変更しません。元の字幕がずれている場合は、公開する前に字幕同期ツールで全キューを前後へ移動します。
ブラウザでスタイルが違って見える
SRTの書式タグはWebVTTプレーヤーで同じように解釈されるとは限りません。実際のHTML5プレーヤーで結果を確認し、重要な意味はスタイルタグだけに頼らず字幕テキストに含めてください。
字幕の言語が違う
変換ツールは字幕テキストを保持しますが、翻訳はしません。ファイル名に言語コードを入れ、動画プレーヤーで対応するsrclangとlabelを設定します。
よくある質問
SRTをVTTにオンラインで変換するには?
SRTファイルをSRTからVTTへの変換ツールに選択し、変換を実行してプレビューを確認した後、WebVTTをダウンロードします。
SRTからVTTにすると字幕テキストは変わりますか?
変わりません。変換はキューのテキストを保ちながらタイムスタンプとWebVTTに必要なファイル構造を書き換えます。
VTTはHTML5動画で直接使えますか?
使えます。VTTファイルをHTML5 videoのtrack subtitles字幕トラックのソースに設定し、プレーヤーで言語とラベルを確認してください。
逆方向へ変換したい場合は?
編集ソフトやメディアプレーヤーがSRTを必要とする場合は、VTTからSRTへの変換ツールを使います。
関連する字幕ツール
SRTからVTTへの変換ツールで形式を変え、VTTからSRTへの変換ツールで逆方向へ変換できます。複数ファイルを1つにするなら字幕マージ、時間のずれを直すなら字幕同期ツールを使ってください。