YouTube StudioでVTT字幕ファイルをアップロードする際、UIがわかりにくく手順に迷ったので整理しました。

前提

  • VTTファイル(タイムコード付き)が手元にある
  • YouTube Studioの動画編集画面にアクセスできる

Step 1: 動画の言語を設定する

左メニューから「言語」を開くと、初回は言語が未設定の状態です。

言語未設定

「言語を設定」のプルダウンから「日本語」を選択し、「確認」をクリックします。

日本語を選択

確認後、言語設定画面が切り替わり、「字幕を編集」「手動でアップロード」ボタンと「翻訳」セクションが表示されます。

Step 2: 元言語(日本語)の字幕をアップロードする

上部の「手動でアップロード」をクリックすると、ファイル形式の選択ダイアログが表示されます。

ファイル形式選択

「タイムコードあり」を選択して「続行」をクリックし、ja.vtt ファイルを選択します。

アップロードだけでは公開されない

ここが注意点です。VTTファイルをアップロードしただけでは字幕は公開されません。 アップロード後、以下の追加操作が必要です。

  1. 「字幕を編集」をクリックしてエディタを開く
  2. 内容を確認する
  3. 右上の「公開」ボタンをクリックする

「公開」を押すまでは下書き状態のままで、視聴者には表示されません。タイムコード付きの完成データをアップロードしているので、そのまま公開されても良さそうですが、YouTube Studioでは手動での確認・公開が必須のようです。

Step 3: 翻訳言語(英語)の字幕をアップロードする

翻訳セクションの右上にある「言語を追加」をクリックすると、言語一覧が表示されます。

言語一覧

「英語」を選択すると、英語の字幕追加画面が開きます。「ファイルをアップロード」を選択し、「タイムコードあり」を選んで en.vtt をアップロードします。

英語字幕アップロード

アップロード後、エディタ画面が表示されます。

英語字幕エディタ

右上の「公開」をクリックして完了です。翻訳言語の場合も、アップロード後に公開操作が必要です。

元言語と翻訳言語の操作の違い

操作元言語(日本語)翻訳言語(英語)
アップロード場所上部「手動でアップロード」翻訳テーブルの該当言語行
公開操作「字幕を編集」→ 確認 →「公開」エディタ画面で「公開」

UIの導線が元言語と翻訳言語で異なるため、混乱しやすいです。

URLパラメータによる字幕の制御

YouTubeのURLに cc_load_policy=1 を付けると、字幕をデフォルトでONにできます。

https://www.youtube.com/watch?v=VIDEO_ID&cc_load_policy=1

cc_lang_pref による言語指定

cc_lang_pref=en のように表示する字幕言語を指定するパラメータも存在します。YouTube IFrame Player APIに記載されています。

https://www.youtube.com/watch?v=VIDEO_ID&cc_load_policy=1&cc_lang_pref=en

ただし、このパラメータは通常のwatch URLでは安定して動作しません。実際に試したところ、同じURLでもあるときは英語のみ、別のときは日本語のみが表示されるなど、再現性がありませんでした。

Google Issue Trackerにもバグとして報告されています。

制限事項

  • cc_lang_pref埋め込み(iframe embed)では比較的動作するが、youtube.com/watch のURLでは効かないことが多い
  • 視聴者のブラウザ言語やYouTubeアカウントの言語設定が優先される場合がある
  • 一部のプラットフォームやページビルダーではパラメータが除去される

推奨

URLパラメータでの言語指定は信頼できないため、cc_load_policy=1 で字幕をONにするところまでに留め、「字幕ボタン(⚙ → 字幕)から言語を切り替えてください」と案内するのが現実的です。

埋め込みの場合は以下の形式で比較的動作するようです。

<iframe src="https://www.youtube.com/embed/VIDEO_ID?cc_load_policy=1&cc_lang_pref=en"></iframe>

参考

VTTファイルの入手元

本記事では、デジタル源氏物語 動画字幕プロジェクトで作成したVTTファイルを使用しています。VTTファイルは以下からダウンロードできます。