WebVTTの字幕をSRTに変換する

.vttファイルをドロップするだけで、動画編集ソフト、プレーヤー、アップロードフォームが実際に受け付ける.srtが手に入ります。

  1. 1ファイル
  2. 2変換
  3. 3ダウンロード

このツールでできること

WebVTTはブラウザーが使う形式です。それ以外のほとんど、つまりPremiere、DaVinci、VLC、多くのプラットフォームの字幕アップロード欄は、SRTを求めていて、VTTを渡すと曖昧なエラーを返します。逆方向の変換は、ピリオドをカンマに置き換えるだけでは済みません。VTTには、SRTに入れる場所がないものが含まれていることがあるからです。

タイムスタンプの後ろの位置指定、NOTEやSTYLEのブロック、キューの名前、音声タグなど。そのまま入れてしまうと、画面に「line:90% align:start」と表示される字幕になってしまいます。こちらでは、それぞれを適切に処理します。たとえば音声タグは、行の前に「Marta:」と付く形に変換します。これならSRTでも表示できます。

他にはない、細かな配慮

  • NOTE、STYLE、REGIONのブロックは除去します。字幕ではないため、テキストの中に残ってはいけません。
  • 位置指定(line、align、position)は破棄します。SRTには入れる場所がないためです。
  • 音声タグ <v Marta> は「Marta:」に変換します。誰が話しているかを失いません。
  • 時間のないタイムスタンプ(01:23.400)は、VTTでは有効でもSRTでは無効なので、正しく補完します。

使い方

  1. 1

    .vttをドロップ

    貼り付けても構いません。ヘッダー、ノート、スタイルは、読み込み時に取り除かれます。

  2. 2

    結果を確認

    1から連番で、ミリ秒はカンマ区切り。SRTに入れられないものは含まれません。

  3. 3

    .srtをダウンロード

    編集ソフト、プレーヤー、アップロードフォームにそのまま使えます。

詳しく

SRTに入れられないもの

WebVTTには、SRTに入れる場所がないものが含まれていることがあります。大事なのは、それらをそのまま通さず、どう処理するかです。タイムスタンプの後ろに付く位置指定(line、align、position)は、何にも変換できないので取り除きます。NOTEとSTYLEのブロックは字幕ではなく、テキストの中に残ってもいけないので、破棄します。

面白いのが音声タグです。VTTでは、話者を文の前後のタグで示しますが、SRTにはそれがありません。捨ててしまうと、誰が何を言ったかが分からなくなります。そこで、行の前に名前とコロンを付ける形に変換します。これは、字幕で昔から会話を書き表してきた方法です。

SRTしか受け付けないソフト

Premiere、DaVinci Resolve、Final Cut、VLC、そして自社サイト以外のほとんどすべてのプラットフォームのアップロードフォームです。どれもWebVTTに対応する手間をかけていません。SRTは90年代から使われていて、それで足りているからです。

症状はいつも同じです。ファイルをドラッグしても、ソフトは認識できない形式だという曖昧なメッセージを出すだけで、ほかに手がかりがありません。VTTが間違っているのではなく、そのソフトがその形式を読めないのです。変換は1秒で終わり、問題は解消します。

質問

お手元にあるのが動画だったら?

アップロードするだけで、タイムスタンプ付きの文字起こし、名前付きで分けられた話者、要点をまとめた要約をお返しします。アカウントなしで始められます。