要点
動画がブラウザで再生されるなら、必要なのはWebVTTです。それ以外のほとんどの場面では、SubRip(.srt)を選ぶのが安全です。もっとも単純な形式で、もっとも広く受け入れられているからです。SubViewer(.sbv)はYouTube Studioが書き出してくる形式で、たいていは最終的な行き先ではなく出発点にすぎません。ASSとSSAは、装飾や配置を伴う字幕のために存在します。装飾ありの形式をSRTに変換すると、タイミングとテキストは残りますが、それ以外は完全に失われます。SRTからWebVTTへの変換には何のコストもかかりません。
多くの人はこの疑問に正面からではなく、脇道から行き着きます。字幕ファイルを手に入れて使おうとしたら、何かがそれを受け付けなかった、という状況です。今知りたいのは、受け取る側が何を求めているかであって、そのために字幕フォーマットそのものを勉強したいわけではないはずです。
そこで、このガイドはフォーマットではなく行き先ごとに整理してあります。ファイルの送り先を見つけて、そこに書かれているフォーマットを使ってください。変換で何を失うのか知りたい場合だけ、残りを読んでもらえれば十分です。この点は見た目以上に重要です。変換は一方通行で、方向によって無料の場合もあれば、二度と戻せないものを静かに削除してしまう場合もあるからです。
行き先から逆算する
フォーマットは好みで選ぶものではありません。ファイルを読み込む側が何を求めているかで決まり、たいてい答えは一つしかありません。まずは受け取る側から逆算しましょう。
- ウェブページ上の動画。 WebVTTです。これはウェブで使われる形式で、ブラウザのプレーヤーは基本的にこれ以外を受け付けません。
- デスクトップやセットトップボックスのメディアプレーヤー、あるいは動画ファイルと並べて置く字幕ファイル。 SubRipです。もっとも単純な形式であり、問題なく認識される可能性がもっとも高い形式です。
- 各種プラットフォームのアップロードフォーム。 特に指定がなければSubRipです。プラットフォームによって対応形式は異なるため、アップロード画面やそのヘルプページが、そこで何が使えるかを知る唯一確実な手段です。
- 装飾や配置を保ったまま見せたい場合。 ASSかSSAです。これより単純な形式では、そうした表現は再現できません。
- YouTube Studioが書き出したファイルが出発点になる場合。 そのファイルはSubViewer形式です。まずSubRipに変換するのが、どこに持って行くにしても最短の道であることが多いです。
送り先がこのリストに含まれておらず、指示もない場合は、SubRipを既定として選んでください。そのコストは実質的ですが小さなものです。SRTは装飾や配置を表現できないため、字幕はプレーヤーが通常表示する位置に、プレーヤー自身のフォントで表示されます。セリフの字幕であれば、たいていはそれで十分なはずです。
実際に使うのはSubRipとWebVTTの2つ
SubRipはテキストファイルとしてこれ以上ないほど単純です。各キューは、単独行の番号、開始と終了を示すタイミング行、1〜2行のテキスト、そして次のキューとの間の空行という構成です。ミリ秒と秒の区切りにはコンマが使われます。キュー間の空行は構造上欠かせない要素で、SRTを手で編集するとこの空行が崩れ、見た目には何も問題がないのに再生できなくなることがあります。
SubRipの利点は、読み込む側に何も要求しないことです。解釈すべき装飾もなく、反映すべき配置もなく、解析すべきヘッダーもありません。キューごとの構造を細かく知りたい場合は、SRTフォーマットを行単位で解説した記事があります。
WebVTTはウェブの標準形式で、見た目はSubRipの近縁種です。ファイルの先頭にはWEBVTTという単語が単独行で置かれ、これは装飾ではなく、プレーヤーがファイルの種類を識別するための目印です。ミリ秒の区切りはコンマではなくピリオドです。キュー番号は省略可能で、有効なVTTファイルには番号がある場合もない場合もあり、どちらも正しい形です。それに加えてWebVTTは配置や装飾を表現できるため、ウェブページ上の字幕が下部中央以外の位置に表示されることがあります。
両者の実質的な違いは一文で説明できるほど小さいものですが、再生を止めてしまうには十分な違いでもあります。選ぶ前に全体像を確認したい場合は、WebVTTとSubRipを並べて比較した記事があります。
SubViewerとASS、それぞれ理由があって登場する形式
拡張子.sbvのSubViewerは、YouTube Studioが書き出す形式です。自分で選んだわけではなく、ダウンロードをクリックしたら出てきたのがこれ、という場合がほとんどです。キュー番号は一切なく、タイミング行の2つのタイムスタンプはコンマで区切られ(矢印ではありません)、時間の桁は0埋めされません。読み取り自体は問題なくできますが、この形式を読みたがるソフトは、その出どころ以外ではあまり多くありません。
そのため、SBVは行き先というより通過点になる形式です。YouTube Studioから字幕を取り出して別の場所で使う場合、SubRipへの変換は簡単で安全に行えます。ちょうどその作業だけを行うSBVからSRTへの変換ツールがあります。
ASSやSSAが本当に必要になるとき
.ssaや.assの拡張子を持つSubStation Alphaは、見た目そのものを作り込むための字幕フォーマットです。装飾、配置、カラオケ風のエフェクトまで扱え、それらはすべて構造化されたEventsセクションに保持されます。ファイルを直接開くことがなくても知っておく価値がある点として、Eventsセクションはファイル内で自分自身の列の順序を宣言します。つまり読み込む側は、タイミングやテキストがどこにあるかを決めつける前に、まずその宣言を読む必要があります。
ASSやSSAが必要になるのは、見た目そのものが内容の一部である場合です。画面内の看板の文字をその場で翻訳して表示する、2人の話者を別の色で示す、フレーム内の特定の位置に合わせてテキストを表示する、といった場合です。字幕が画面下部のセリフだけであれば必要はなく、使ってしまうとむしろ他の場所で受け付けられにくくなるだけです。
変換にコストがかかるかどうかを決める、たった一つのルール
フォーマットによって表現できることは異なります。変換が無料で済むのは、送り先のフォーマットが元のフォーマットが持っていたすべてを保持できる場合だけです。保持できない場合、余分な情報は劣化したり圧縮されたりするのではなく、消えてなくなります。
より表現力の高いフォーマットからSubRipへ変換するのは、定義上、情報が失われる変換です。装飾、配置、エフェクトは、それらを記述する手段を持たないフォーマットの中に置き場所がなく、変換ツールはそれらを切り捨てます。残るのはタイミングとテキストで、多くの用途ではそれこそがファイルの本質ではあります。しかし、この損失は変換後のファイルの中では永久的なもので、あとから元に戻す変換をしても装飾が復活することはありません。生成されるのは、拡張子だけが違う装飾なしのファイルです。
逆方向、つまりSubRipからWebVTTへの変換は情報の損失がありません。変換によって行われるのは、WEBVTTというヘッダー行の追加と、ミリ秒の区切りをコンマからピリオドに変えることだけです。キュー番号は削除されますが、WebVTTはこれを省略可能な情報として扱い、誰にとっても必要な情報を持っていないためです。キューの並び順自体が、番号が伝えていたことをすべて伝えています。意味のある情報は何も失われないため、この変換は特に気にせず行って構いません。
ここから導かれる習慣があります。元のファイルは残しておくことです。変換するのはコピーにしてください。配置情報が唯一残っている場所が装飾済みのASSファイルだけなら、それをSRTで上書きするのは一度きりの決断になってしまいます。
実際の変換作業には、当サイトの無料字幕変換ツールが使えます。すべてブラウザ内で処理されるため、ファイルがアップロードされることもアカウント登録も必要ありません。ただし、こうしたブラウザ内のツールはテキストファイルの変換用であり、音声を書き起こすことはできません。字幕ファイルがまだ存在しない動画がある場合は、iOS、Android、macOS向けの文字起こしアプリSozAIが、ファイルや録音、YouTubeのリンクを、話者ラベル、要約、99以上の言語への翻訳付きのテキストに変換してくれます。
手元のファイルが実際には何なのかを確かめる方法
拡張子は内容を保証するものではありません。.vttから.srtに名前を変えたファイルは、それでもWebVTTのままで、変わったのはラベルだけです。これが重要なのは、プレーヤーがファイルを拒否したときに人がまず試すのがリネームであり、それが絶対に効かない方法だからです。プレーヤーはファイル名を読んでいるわけではありません。最初の数行を読み、想定していなかったヘッダーや区切り文字を見つけて、そこで処理をやめているのです。
任意のテキストエディタでファイルを開き、先頭を見てみてください。それだけで判別できます。
- 最初の行がWEBVTTなら、拡張子が何であってもWebVTTです。
- 単独行の番号のあとに、ミリ秒の前にコンマが入ったタイミング行が続くなら、SubRipです。
- 番号がなく、コンマで区切られた2つのタイムスタンプがあり、時間が0埋めされていないなら、SubViewerです。
- 自分自身の列の順序を宣言する行を含むEventsセクションがあるなら、SubStation Alphaのいずれかの形式です。
30秒ほど確認するだけで、多くの推測が不要になります。それに、ダウンロードしたファイルがボタンの表示と違うものだったというケースにも気づけます。
変換しても直らないこと
変換はコンテナを変えるだけで、内容そのものは変えません。動画とタイミングがずれているなら、新しいフォーマットでも同じようにずれます。変換ツールは渡された数字をそのまま写しているだけで、動画の内容は知らないからです。名前の誤字、抜け落ちた行、長すぎるキューも、そのまま引き継がれます。
また、変換は対応していないフォーマットをプレーヤーに無理やり受け入れさせるものでもありません。ブラウザのプレーヤーがWebVTTを求めているときに、SBVをSRTに変換しても、一般的には広く受け入れられる形式にはなりますが、その特定の送り先には依然として合いません。人気の形式に向けて変換するのではなく、送り先が求めている形式に向けて変換してください。
そして、逆方向への変換は、情報が失われる変換で削除されたものを復元することは決してありません。装飾や配置が一度ファイルから失われたら、それが残っているのは元のファイルを保存していた場合だけです。装飾された字幕を扱うときは、ASSやSSAのファイルを本体として扱い、そこから書き出したものはすべて使い捨てのつもりで扱ってください。そうしておけば、変換に失敗しても失うのは数分で済み、丸一日を無駄にすることはありません。

