変換 · TXT → VTT
TXTをVTTに変換
ウェブページに載せる字幕はVTTでなければならず、台本のTXTをそこへ届けるのがこの変換です。選んだ秒数の字幕ブロックが行ごとに生成され、先頭には正しいWEBVTTヘッダーが付き、あとは音に合わせて動かすだけの状態になります。タイミングの注意点、下書きの中身、ページへの組み込み方の順に説明します。
更新日
TXTをVTTに変換する
上のツールに台本を貼り付けるか(1行が1つの字幕ブロック)、.txtファイルをドロップしてください。各行の表示秒数を選ぶと、変換後のファイルがすぐ下に用意されます。ページはローカルで動き、何も保存しないので、未発表の商品のナレーション原稿も手元の端末に留まります。
形式が初めてなら、有効なWebVTT文書に必要なもので先頭行の意味を確認しておくと安心です。書き出す拡張子は必ず小文字にしてください。大文字混じりの拡張子を弾くプレーヤーがまれにあります。
タイミングについての正直な話
ただの台本には時間の情報が一切ありません。だからこのツールは、どの行がいつ出るべきかを知りようがなく、答えを作り上げることもしません。各行には選んだ長さが同じだけ割り当てられ、0秒から連続して並びます。ダウンロードされるのは下書きです——正しい構造、そのままの言葉、仮のタイミング。
これは出発点であり、完成した字幕トラックではありません。編集ソフトで開き、音声を聴きながらブロックを合わせてください。人が耳で確認する必要があるその一点だけは、テキストから字幕を作るツールに正直できません。
前に別形式の編集に慣れていると、タイムコードの区切りにコンマを打ちたくなる場面がありますが、この形式はピリオドでなければ無効です。保存前にもう一度区切り記号を見直しておくと安心です。
下書きの中身
出力はWEBVTTで始まり、台本の1行につき1ブロックが続きます。00:00:04.000 --> 00:00:06.500のようなタイムコード行のあとに言葉が来て、ミリ秒は仕様どおりピリオド、文字コードはUTF-8なので日本語も文字化けせずに往復します。識別子や配置設定、STYLEブロックはあえて省いていて、そのほうが下書きを動かしやすいからです。ただのテキストなので、2つの版をGitで比較したり、タイムラインを開く前にブラウザ上で誤字を直したりできます。編集ソフト向けの版が欲しいなら同じ下書きをSubRipで作る変換があります。
ページへの組み込み方
同期が終われば、<video>の中に<track kind="subtitles" src="intro.vtt" srclang="ja" label="日本語">を1行置くだけです。同じオリジンから配信するか、CDN上にあるならCORSヘッダーを足し、サーバーがtext/vttを返すようにしてください。ここを間違えるのが、正しく作ったトラックが表示されない一番よくある理由です。言葉がすでに公開済みの動画のものなら、既存の字幕をそのままダウンロードすれば打ち直す必要はありません。
よくある質問
TXTをVTTに変換するには?
変換ツールに台本を入れてください(1行が1ブロック)。行ごとの表示秒数を選ぶと.vttがすぐ下に用意され、そのままダウンロードできます。料金も登録も不要です。
本当のタイミングを検出できますか?
できません。台本には時計が入っていないため、各ブロックには選んだ長さが均等に割り当てられます。音に合わせる作業はそのあと編集ソフトで行います。
SRTではなくVTTを選ぶ理由は?
字幕の行き先がウェブページだからです。HTML5のtrack要素が読み込むのはWebVTTだけで、配信プレーヤーも同じ形式を前提にしています。タイムラインで使うならSRTのほうが安全です。
出力はWEBVTTの行から始まりますか?
はい。ヘッダーは自動で書かれ、タイムコードはピリオド、文字コードはUTF-8です。仕様どおりなので、そのまま検証をパスします。