UltKit

SRTをVTTに変換

ブラウザが<track>要素で表示できる字幕はWebVTTだけです。そのため、VLCでは表示されるSRTファイルでも、Webページでは何も表示されません。ここでVTTに変換すれば、同じ字幕をどのHTML5プレーヤーでも表示できます。

字幕変換

またはSRT, VTT, ASS … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    .srtファイルをドロップ

    字幕ファイルを1つ、または言語ごとに追加します。最大20ファイル、1ファイルあたり95 MBまで対応しています。古い文字コードは自動で検出され、WebVTTで必須のUTF-8に書き換えられます。

  2. 2

    必要ならタイミングを調整

    そのまま変換するだけなら設定は変更不要です。動画に対して字幕が早すぎる、または遅すぎる場合は、詳細設定のタイミングをずらすに秒数を入力してください。

  3. 3

    WebVTTに変換

    WebVTT (VTT)に変換を押して、.vttファイルをダウンロードします。動画と同じ場所にアップロードしてください。当サイトのコピーは30分後に削除されます。

SRTをアップロードしてWebVTT (VTT)に変換を押します。必須のWEBVTTヘッダー、ピリオド区切りのミリ秒、UTF-8のテキストを備えたファイルが得られ、<track>要素、Video.js、Plyr、学習プラットフォームですぐに使えます。

WebプレーヤーでSRTではなくVTTが必要な理由

SRTは2000年ごろのDVDリッピングの世界から生まれ、デスクトッププレーヤーや編集ソフト、配布用字幕の標準になりました。WebVTTは2010年にWeb向けに設計され、SRTの構文を土台にしています。HTMLの標準で<track>要素の形式になりました。Chrome、Firefox、Safari、EdgeはいずれもWebVTTをネイティブで読み込めますが、trackを通してSRTを読めるブラウザーはありません。

テキストエディターで見るとほとんど同じなので、違いに気づかず戸惑う人が少なくありません。VTTファイルはWEBVTTで始まり、UTF-8でなければならず、SRTの00:01:05,300は00:01:05.300と書きます。さらにVTTには、SRTにない位置指定、スタイル、コメントを持たせられます。そのためSRTからVTTへの変換で失われるものはありませんが、VTTをSRTに変換で戻すとそれらは削除されます。

.vttができたら、下の例のようにページからリンクします。iPhoneの.movのように、ブラウザーで再生できない形式の動画については、MOVをMP4に変換する方法のガイドで解説しています。

変換した英語字幕を付けた動画のHTML
<video controls src="lecture.mp4">
  <track kind="subtitles" src="lecture.ja.vtt"
         srclang="ja" label="日本語" default>
</video>

SRTとVTTの違いを徹底比較

同じキューを両形式で表したもの
項目SRTWebVTT
ファイルの1行目キュー番号`1``WEBVTT`
タイムスタンプ`00:01:05,300``00:01:05.300`(時は省略可)
キュー番号必須任意の識別子
文字コード自由(古いコードページが多い)UTF-8のみ
位置と配置標準化されていない`line`や`align`などのキュー設定
スタイル`<i>`、`<b>`、`<u>`、`<font>``<i>`、`<b>`、`<u>`、CSSで装飾するクラス
サーバー上のMIMEタイプ`application/x-subrip``text/vtt`

SRT

SubRip字幕

SRTは、2000年ごろに動画から字幕を抽出していた Windows 用の無料プログラム SubRip の字幕形式です。各項目は、番号、開始時刻と終了時刻、字幕テキストからなるプレーンテキストのブロックです。VLC、YouTube、Facebook、動画編集ソフト、スマートテレビなどが対応しており、最も広くサポートされている字幕形式です。書式は基本的なものだけで、位置指定やスタイルの標準はありません。

圧縮方式
–
透過
–
アニメーション
–
登場時期
SubRip
SRT 変換

VTT

WebVTT字幕

VTTは Web Video Text Tracks 形式で、2010年ごろに WHATWG と W3C が HTML5 動画向けに開発しました。SRTに似ていますが、WEBVTT ヘッダーが加わり、位置指定、スタイル、話者ラベル、メタデータに対応します。ブラウザーは <track> 要素による字幕に使い、配信プラットフォームや YouTube も受け付けます。一部のデスクトッププレーヤーやエディタはSRTを前提としています。

圧縮方式
–
透過
–
アニメーション
–
登場時期
2010 · W3C / WHATWG
VTT 変換

HTML5動画はtrack要素を通してWebVTTしか読み込めないため、デスクトッププレーヤー向けのSRT字幕は、Webページに表示する前にVTTへ変換する必要があります。

ブラウザでVTT字幕が表示されない場合

  • オンラインでは字幕が出るのに、ディスク上のHTMLファイルを開くと出ない

    ブラウザーはfile://のページから読み込むトラックをブロックします。ローカルのWebサーバー経由、または実際のサイトで確認してください。

  • 別ドメインからトラックを読み込むと、中身が空のままになる

    <video>要素にcrossoriginを追加し、.vttを置いているサーバーのCORSヘッダーで自分のサイトを許可してください。

  • サーバーがファイルをtext/plainとして送信している

    .vttをtext/vttとして配信するよう設定してください。ほかのタイプを受け付けないプレーヤーもあります。

  • すべての字幕が1秒早く表示される

    タイミングをずらすに1などの正の値を入力して再度変換し、ファイルを差し替えてください。

SRTからVTTへの変換に関するよくある質問

字幕変換でファイルのどこが変わりますか?

先頭にWEBVTTの行を追加し、ミリ秒の前のカンマをピリオドに置き換えて、UTF-8で保存します。WebVTTではキュー番号を任意の識別子として残せます。字幕の文章自体は変更されません。

.srtを.vttにリネームするだけで使えますか?

使えません。WEBVTTヘッダーがなく、タイムスタンプがカンマ区切りのままだと、ブラウザーはトラックを拒否するか、すべてのキューを読み飛ばします。ファイルの書き換えが必要ですが、ここなら数秒で終わります。

斜体や太字はそのまま残りますか?

はい、<i>、<b>、<u>は両方の形式で使えます。SRTの<font color>タグにはWebVTTに直接対応するものがありません。WebVTTではCSSのクラスでキューに色を付けるためです。多用している場合は書式タグを削除をオンにしてください。

オンライン講座の配信サービスではどちらの字幕ファイルが必要ですか?

多くの学習プラットフォームやWebプレーヤーはWebVTTに対応しており、SRTも受け付けるところが多くあります。アップロード画面に.vttしか書かれていなければここで変換してください。.srtしか受け付けない場合は、逆変換のVTTをSRTに変換をご利用ください。

字幕を画面の上部に表示できますか?

WebVTTではline:0などのキュー設定で指定できます。変換後にテキストエディターで追記してください。SRTには位置を保存する標準的な方法がないため、変換後のキューは下部の既定位置から始まります。

1本の動画に複数言語の字幕を追加するには?

言語ごとのSRTをそれぞれ変換し、ファイルごとにsrclangとlabelを指定した<track>を1つずつ追加します。視聴者はプレーヤーの字幕メニューから言語を選べます。