YouTube動画に字幕を追加する方法(SRTまたはVTT)
YouTubeにSRTまたはVTTの字幕をアップロードする手順と、YouTubeがファイルを拒否した場合の対処法を解説します。
YouTubeはタイムコード付きの字幕に対応しており、自分で用意したファイルをアップロードすることで、YouTubeの自動生成字幕よりもはるかに正確な字幕を表示できます。専門用語や固有名詞、英語以外の音声では特に効果的です。
字幕ファイルをアップロードする
- YouTube Studioを開き、コンテンツに移動します。
- 字幕を追加したい動画をクリックし、字幕タブを開きます。
- 字幕を追加する言語がまだリストにない場合は、言語を追加をクリックします。
- その言語の下にある「字幕」の横の追加をクリックし、続けてファイルをアップロードをクリックします。
- 「タイミングあり」を選択します(「文字起こしのみ」を選ぶと、タイムコードが削除されてYouTube側で再同期を求められてしまい、事前にタイミング調整済みのファイルを用意した意味がなくなります)。
.srtまたは.vttファイルを選択して公開します。
YouTubeがファイルを拒否することがある理由
以下のような点が原因でアップロードに失敗することがよくあります。
- タイムコードの形式の誤り。 SRTはカンマ(
00:00:01,000)、VTTはピリオド(00:00:01.000)を使います。これを混同することが、アップロードが拒否されたり文字化けしたりする最も多い原因です。 WEBVTTヘッダーの欠落。.vttファイルをアップロードする場合、最初の行は必ずWEBVTTでなければなりません。これがないと、YouTubeはファイルを無効と判断します。- エンコードの問題。 UTF-8以外でエンコードされたファイル(古いソフトウェアから字幕をエクスポートした場合によくあります)では、アクセント記号付き文字や非ラテン文字が文字化けして表示されることがあります。
- キューの重複。 2つのキューの時間範囲が重なっている場合、一部のプラットフォームでは片方が無言で破棄されてしまいます。
SRTかVTTか:YouTubeでは関係あるのか
YouTubeはどちらの形式にも対応しているため、実際には手元に何があるかで決まります。文字起こしツールや編集ソフトがSRT形式でエクスポートするもの(より一般的なデフォルト)を使っているなら、変換の必要はなくそのままアップロードできます。すでにWebベースのワークフローからVTTを持っている場合も、問題なくアップロードできます。
より重要になるのは、同じ字幕を自分のWebサイトにもHTML5の<video>要素で埋め込む場合です。ブラウザはそこで特にVTTを要求するため、両方の形式を手元に用意しておくとよいでしょう。両者の変換は完全に機械的な処理(タイムコードの区切り文字、ヘッダー、キュー番号)なので、手作業で再度タイミングを調整する必要はありません。当サイトのSRT to VTT 変換ツールはこれをブラウザ内で即座に行い、サーバーへのアップロードは一切発生しません。