メインコンテンツへスキップ
SubtitleMatrix

VTT を SSA に変換

形式変換WebVTT(VTT)
字幕テキストを貼り付けることもできます

この変換で変わること

2 項目が失われるか、判断が必要です

  • 精度

    タイミングの精度(変換先の時計はより粗いため、すべてのタイムスタンプは 10 ms 単位に丸められます)

  • 形式固有の内容

    元の形式が字幕ブロックの外に保持している内容(字幕以外のブロック、ヘッダーのテキスト、字幕ごとの設定、コメントアウトされたイベント)。変換先の形式に置き場所がありません

この一覧は、読み込んだファイルではなく、この2つの形式の機能対応表から作られています。形式としては許されているが対応表が扱っていない機能を使っている場合、そのファイルではさらに多くが失われることがあります。

このページは VTT を SSA に変換します。ファイルをドロップするかテキストを貼り付けると、SSA 版が返ります。変換はすべてブラウザ内で完結し、アップロードもアカウント登録も不要です。

2 つの形式は同じものを保存しません。違いは見た目だけではなく、精度と形式固有の内容は SSA に行き場がありません。上の一覧はあなたのファイルではなく、両形式がそれぞれ表現できるものから作られるため、読み込む前から同じ答えになります。

1 ファイルでも 1 シーズン分でも構いません。キューが順に処理し、結果は 1 つの ZIP にまとまってダウンロードされます。

例

典型的な VTT ファイルを SSA に変換した例

入力

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

出力

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.

この出力で失われるもの:精度と形式固有の内容。それ以外は行単位で一致します。

崩れた VTT 入力を SSA に変換した例

入力

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

出力

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,No header, two lines before the timecode.

実ファイルの傷み方の例です。改行の混在、余分な空白、空のフィールドが含まれます。上の整った例と比べると、パーサーがどこまで許容するかが分かります。

よくある質問

VTT から SSA でタイムスタンプが動くのはなぜですか?

SSA は 0:00:04.13、VTT は 00:00:04.126 と書き、100 分の 1 秒と 1000 分の 1 秒の違いがあるためです。すべてのタイムコードが 10 ミリ秒単位に丸められ、00:00:04.126 は 4.13 秒になります。伸縮も並べ替えもなく、字幕の移動は最大 5 ミリ秒ですが、他のファイルと突き合わせるときだけここが正確でなくなります。

VTT の NOTE、STYLE、REGION ブロックは SSA でどうなりますか?

捨てられます。WebVTT はヘッダー、コメント、スタイルブロック、領域定義、align や position といった設定を持てますが、SSA には置き場所がありません。SSA は文書ではなく字幕を保存するためです。字幕のテキストと時刻は丸ごと通ります。

VTT を SSA に変換すると出力はどんな形ですか?

SSA の形です。字幕番号はなく、各字幕は [Events] セクションの Dialogue: 行になり、SRT が番号を置く場所には Marked フィールドが入ります。VTT の各字幕は同じ順序、同じテキストで 1 つの SSA 字幕になります。

VTT の 2 行の字幕は SSA でどうなりますか?

\N で区切られた 2 行になります。SSA の改行表現で、組の関係は残ります。

VTT の字幕の順序は SSA で保たれますか?

保たれ、開始時刻順に並べ替えられます。順不同の VTT も早い順に直されます。

SSA を VTT に戻せますか?

戻せますが、損失一覧は別です。SSA から VTT ではスタイル、位置情報、カラオケ、形式固有の内容が失われます。2 つの形式が保存するものが違うため、この方向とは一覧が異なります。

VTT を SSA にしたとき文字コードは元のままですか?

いいえ。出力は UTF-8、Unix の改行、BOM なしで、元の VTT の文字コードには依存しません。UTF-16 や Windows のシングルバイトで届いたファイルは読み込み時にデコードされ、そのことは結果パネルに表示されます。

関連ツール