VTTをSRTに変換する方法(そして実際に必要になる場面)
VTTとSRTは似ていますが、どこでも同じように受け付けられるわけではありません。VTTからSRTへの変換が実際に重要になる場面と、その変換の仕組みを解説します。
Web動画やHLSストリームから字幕を取り出したなら、.vttファイルになっている可能性が高いです。ブラウザで使う分には問題ありませんが、その字幕を他の場所で使いたくなった瞬間、よく壁にぶつかります。
VTTが不十分な場面
- 動画編集ソフト。 Premiere Pro、Final Cut、DaVinci Resolveなど、たいていのデスクトップ向けNLEはSRTのインポート対応がはるかに成熟しています。VTTのインポートはバージョンによって対応がまちまちです。
- プラットフォームへのアップロード。 YouTubeは両方に対応していますが、多くの小規模なプラットフォーム、メディアプレイヤー、レガシーシステムは
.srtしか認識しません。 - 古い機器や組み込み機器。 スマートTV、セットトップボックス、一部のメディアサーバーソフト(Plex、Jellyfin、Embyなど)は、特に古いファームウェアでは、歴史的にVTTよりSRTのほうが対応が安定しています。
Webの文脈から字幕を外に持ち出し、汎用の動画ツールで使う場合は、たいていSRTのほうが安全な選択です。
変換で実際に変わること
VTTからSRTへの変換は機械的なもので、創作的な要素はありません。実際の字幕内容やタイミングは何も変わりません。
WEBVTTヘッダー行が削除されます(SRTはこれを使いません)。- タイムスタンプがピリオドからカンマに変わります。
00:00:01.000は00:00:01,000になります。 - 連番のキュー番号が、まだ付いていない場合は追加されます。
- VTT特有のスタイリング(キューの配置、
<c>話者・色タグ)は、SRTに相当する機能がないため削除されます。VTTファイルが配置や色付きの話者タグに大きく依存している場合、その視覚的な情報は引き継がれません。
その最後の点が、唯一注意すべき実質的な損失です。字幕が特別なスタイリングのないプレーンな会話であれば、変換は実質的にロスレスです。VTTのスタイリング機能を使っている場合、言葉とタイミングは保持されますが、視覚的な書式は保持されません。SRTにはそもそもその情報を置く場所がないからです。
変換する
これを手作業で行う必要はありません。当サイトのVTT to SRT 変換ツールはすべてブラウザ内で動作します。何もアップロードする必要はなく、ファイルを貼り付けるかドロップするだけで、ヘッダー、タイムスタンプ形式、キュー番号をその場で即座に書き換えます。