Universal Subtitle Format

開く保存XML多言語

Matroska時代のXML字幕フォーマットです。名前付きスタイル、1つのファイルに複数の言語、拡張の余地があります。採用したプレーヤーは多くありませんが、Subtitldが保持するすべての情報を含められるため、Subtitldはプロジェクトをこの形式で保存します。

概要

拡張子.usf
メディアタイプtext/xml
仕様USF 1.1。CoreCodecのプロジェクト(2010年)。Titlevisionがオンラインで管理しています
時間の精度ミリ秒
文字コードXMLで宣言されます。特に指定がなければUTF-8です。
装飾名前付きスタイル。テキスト内では <i>、<b>、<u>、<font>
配置スタイルまたはテキストごとに、9つの位置と余白
話者各テキストに speaker
言語1ファイルに複数。言語ごとに <subtitles> ブロックを1つ(ISO 639-2コード)
コンテナ内Matroskaでは S_TEXT/USF

ファイルの構成

XMLドキュメントです。メタデータとスタイルのヘッダーがあり、その後に言語ごとの字幕ブロックが続きます。

<USFSubtitles version="1.0">
<metadata>…</metadata>
<styles>…</styles>
<subtitles>
<language code="por">
  Portuguese (Brazil)
</language>
<subtitle
  start="00:00:01.000"
  stop="00:00:02.500">
<text>Olá!</text>
</subtitle>
</subtitles>
</USFSubtitles>
  1. 1 · ルート

    <USFSubtitles> と、従っているUSFのバージョン。

  2. 2 · ヘッダー

    タイトル、作者、言語。字幕で使える名前付きスタイル。

  3. 3 · 言語

    言語ごとの <subtitles> ブロック。ISO 639-2コードで区別します。

  4. 4 · 字幕

    開始、終了(または長さ)、テキスト。

時刻

秒だけでも書けます。 100 は 00:01:40.000、1.5 は1.5秒です。終了の代わりに duration で長さを指定することもできます。

テキスト

USFのテキストはXHTMLのサブセットです。タグは小文字で、正しくネストされ、<br/> は閉じた形で書きます。

要素 効果 Subtitldでの扱い
<i>, <b>, <u> 斜体、太字、下線 保持
<font color="#00FF0000"> 色。フォント、サイズ、縁取り、影も指定できます 色を保持
<br/> 改行 保持
<s> 取り消し線。USFの計画リストにはあるものの、仕様にはありません 取り消し線として書き出し。他のツールではテキストのまま表示される場合があります
<karaoke>, <k t="250"/> カラオケのタイミング テキストを保持
<image>, <shape> 画像と図形 保持されない

アルファ値が先頭にあり、透明度の数え方が逆です。 USFの色は #AARRGGBB で、00 が不透明、FF が透明です。#00FF0000 は純粋な赤です。アルファを省いた #FF0000 も赤になります。

スタイルと位置

<style name="Narrator">
  <fontstyle italic="yes"/>
  <position alignment="TopCenter"/>
</style>

テキストは名前でスタイルを指定します(<text style="Narrator">)。フォント、色、斜体、太さ、下線、そして位置を取得します。位置は TopLeft から BottomRight までの9か所のうち1つです。Default という名前のスタイルはすべての字幕を変えてしまうため、Subtitldは書き出さず、プレーヤーが独自の表示を保てるようにします。

言語

各言語には独自の <subtitles> ブロックがあり、ISO 639-2コードで名前が付けられます。eng、fre、ger、por などです。1つのコードが複数の言語を指すことがあるため、Subtitldは各言語の名前も要素内に書きます。これにより、por がブラジル・ポルトガル語かポルトガル・ポルトガル語かを判別できます。

<language code="por">
  Portuguese (Brazil)
</language>

USFでのSubtitld

Subtitldのプロジェクトは USF です。.usfx プロジェクトは、USFに動画、音声、吹き替えを加えて1ファイルにまとめたものです。

USFに残るもの
  • 各字幕のテキスト、装飾、位置
  • 翻訳(言語ごとのブロック)
  • 話者(色付き。要求があれば画像も)
  • 吹き替えとその声(要求があればクリップも)
  • 開始と終了(ミリ秒単位)
残らないもの
  • 行ごとのフォント、サイズ、縁取り、影
  • 画像、図形、カラオケのタイミング
  • エフェクト

Subtitldが追加した情報は、他のツールがそのまま残します。

USFファイルを開く

Subtitldは、Subtitldが書いたものと他のツールが書いたものを読み取ります。

  • XMLで宣言された文字コード。
  • テキストが使う名前付きスタイルの斜体、太字、下線、色、位置。
  • 一部のツールが書く、italic、bold、underline を持つ <font>。
  • stop がない場合の duration、秒だけで書かれた時刻。
  • 1つの字幕内の複数のテキストは、それぞれ行として扱います。
  • 各言語のブロックは、時刻によって最初の言語と対応付けます。そのため、ブロックごとに字幕の数が同じである必要はありません。
  • ISO 639-2コードと言語名、古いSubtitldのバージョンが書いたコード。

USFではないファイルは、その旨を表示し、何も開きません。

USFの保存

Subtitldのエクスポートダイアログ。USFを選択し、話者の画像が埋め込まれています

USFはプロジェクト全体を保持するため、エクスポート、字幕、USFの順に選ぶと、中に含めるものだけを尋ねます。

  • 話者画像を埋め込む各話者の画像を、そのスタイル内にbase64で埋め込みます。
  • 音声クリップを埋め込む各吹き替えのクリップを、その字幕内にbase64で埋め込みます。

ファイルはUTF-8で、言語はISO 639-2コードと名前で記録されます。USFが必須とするタイトルを付け、Default スタイルは書き出しません。

豆知識

2002

USFは2002年11月に初めて公開されました。Advanced SubStation AlphaのXML版の代替として作られた、CoreCodecのプロジェクトです。

1.1

最新版は2010年11月のものです。その仕様は今も計画の一覧に <s> を挙げています。

VLC 0.9

バージョン0.9から、VLCはUSFのテキストとタイミング、そしてVSFilterと同様に一部の装飾を表示します。

関連する形式

.usf の修正が必要ですか?

Subtitld で動画と一緒に開き、波形上でタイミングを調整しましょう。

Subtitld をダウンロード