CC を押しても何も起きない。あるいはボタンは点いたのに画面には何も出ない。あるいは 「字幕の読み込みエラー」 とだけ表示されて、何が起きたのかは一言も説明されない。
検索すると、どのページも同じことを言います。キャッシュを削除する、通信環境を確認する、ブラウザを更新する、アプリを再起動する、入れ直す。拡張機能を切ってみろと書くページもあります。ごくまれに VPN を勧めるページもありますが、なぜ字幕と関係があるのかは書かれていません。
これらの助言は間違いというより、3つある原因のうち1つにしか向いていないのです。以下では、その3つが何なのか、自分がどれに当たっているかを10秒で見分ける方法、そしてそれぞれに実際に何ができるのかを説明します。
症状は1つ、原因は3つ
字幕が目に届くまでには、3つの段階を通過する必要があります。
- その動画に字幕トラックが存在していること。
- プレーヤーが要求したとき、YouTube がそれを端末に渡すこと。
- プレーヤーが画面に描画すること。
どれか1つが壊れれば、結果は見分けがつきません。CC ボタンを押しても何も起きない、それだけです。しかし壊れる理由はまったく無関係で、定番の助言(キャッシュ・再起動・再インストール)が触れているのは3番だけです。
だからこそ、同じ対処法がある人には見事に効き、それ以外の人には何の効果もない。そして同じ動画が、あなたには壊れて見え、送った相手には普通に見えるのです。
原因1:字幕トラックがそもそも存在しない
いちばん多く、いちばん気づきにくい原因です。YouTube の画面は「字幕の取得に失敗した」と「字幕が最初から作られていない」をまったく区別しないからです。
すべての動画に字幕があるわけではありません。投稿者がアップロードしていないこともありますし、YouTube の自動音声認識もすべてに対して動くわけではありません。YouTube 自身のヘルプページには、自動字幕が生成されない場合が挙げられています。音声をまだ処理中、話されている言語が自動字幕に対応していない、動画が長すぎる、音質が悪い、冒頭の無音が長い、複数の人が同時に話している。加えて、字幕そのものをオフにして投稿する制作者もいます。
10秒での見分け方: 動画下の ⋯ メニューを開き、「文字起こしを表示」 があるか確認します。文字起こしの項目がなければトラックは存在せず、ブラウザに何をしてもトラックは生まれません。スマホの場合は CC アイコンをタップし、字幕リストが空なら同じ結論です。
これに当たっている場合、この先を読んでも解決しません。字幕がまったくない動画についての記事をご覧ください。
原因2:トラックはあるのに、YouTube が渡してくれない
誰も名前を挙げない原因であり、「字幕の読み込みエラー」という独立したメッセージが存在する理由でもあります。
字幕のテキストは動画の中に入っていません。CC を押すと、ブラウザは字幕ファイルを配信する YouTube のエンドポイントに 別のリクエスト を送ります。このリクエストは動画とは独立して拒否されうる——だから映像は問題なく再生され続けるのに、字幕だけがいつまでも来ないのです。
もっとも多い拒否理由はレート制限です。YouTube はこのエンドポイントを厳しく絞っており、制限はアカウント単位ではなく IP アドレス単位 でかかります。私たちがここまで具体的に書けるのは、自分たちも大量に字幕トラックを取得していて同じ制限に当たるからです。私たちのコードにはこの制限専用のエラー型があり、それが出た時点で再試行をやめます。拒否された後に同じ IP から繰り返しても無駄だからです。
ここから、単独では意味不明に見える症状がいくつも説明できます。
- VPN で「直る」。 これが決め手です。ブラウザは何も変わっておらず、変わったのは IP アドレスだけ。この小技が理由の説明なしにフォーラムを回っているのは、効くことだけが発見されたからです。
- 放っておくと戻る。 レート制限には期限があります。朝は死んでいた字幕が夜には同じ動画で出るなら、誰も何も直していないし、あなたの操作も無関係です。
- 家や職場ごとまとめて巻き込まれる。 共有 Wi-Fi、大学のネットワーク、携帯キャリアの NAT、VPN の出口ノードは、多数の人を1つのアドレスの裏にまとめます。同居人の YouTube の使い方が、あなたの字幕を奪うことがあります。
- キャッシュ削除では届かない。 拒否は YouTube 側で、何かがあなたの端末に届いてキャッシュされるより前に起きています。
10秒での見分け方: ⋯ メニューに文字起こしの項目はあるのに、開かないか固まる。あるいは「字幕の読み込みエラー」という文言そのものが出る。同じ動画を、Wi-Fi を切ってモバイル回線でスマホから開いてみてください。経路が変わります。そこで字幕が出るなら、トラックは無事で、問題は回線の側にありました。
原因3:字幕は届いたのに、プレーヤーが描画しない
3つの中ではいちばん小さく、そして定番の助言がすべてこれ向けに書かれている原因です。具体的に挙げる価値はあります。「キャッシュを削除」よりずっと個別的だからです。
- 全画面表示。 報告がもっとも多い形で、これは字幕の問題ではなく描画の問題です。テキストは届いているのに、字幕のレイヤーが映像面の裏や外に置かれてしまう。全画面を一度解除して入り直すとたいてい戻ります。
- ほかの拡張機能。 広告ブロッカー、スクリプトブロッカー、プライバシー系拡張、そして他の字幕ツールは、字幕リクエストを遮断したり、ページの同じレイヤーを奪い合ったりします。これは実在する原因で、拡張機能を切って試せという助言はここでは正当です——私たち自身も含めて。後述の注記をご覧ください。
- 再生速度。 標準以外の速度では、一部のクライアントが字幕のタイミングを落とします。1× に戻してプレーヤーを再同期させるのは、ここでは本当に有効です。
- 設定の固着。 一度どこかの言語の自動翻訳を選ぶと、プレーヤーがその後の動画でもその翻訳を要求し続けることがあります。字幕をオフにして入れ直すか、翻訳版ではなく元のトラックを選び直すと解消します。
なぜどのページも「キャッシュを削除」と書くのか
3番目の原因については正しく、勧めても害がなく、外部から反証できないからです。
この質問に答えているのが誰かを見てください。上位に並ぶのは動画修復ソフト、データ復旧ブログ、文字起こし SaaS のページ——YouTube の字幕配信とは何の関係もない製品を売る事業者が、順位のために汎用のトラブルシューティングを書いているのです。彼らはあなたの動画にトラックがあるかどうかを判定できませんし、IP 単位のレート制限に至っては一切触れていません。つまり、いちばん説明を必要とする原因だけが、唯一説明されないまま残ります。
結果として、一部の人には効き、それ以外の人にはブラウザの入れ直しで静かに夕方を溶かすページができあがります。
実際に効くこと:YouTube の字幕経路に依存しない
原因2には構造的な含意が隠れています。拒否されているのは あなたの IP アドレスから出た、あなたのブラウザのセッション です。動画についての判定ではありませんし、永続的でもありません。
その隙間を埋めるのが Linglass です。魔法ではないので、仕組みも正確に書いておきます。
- 別の取得経路。 YouTube があなたのセッションに字幕を渡さないとき、Linglass は自前のサーバー経由でトラックを取得します。経路が違えばアドレスも違う——ブラウザが拒否されたトラックが、それでも届きます。
- 独自の字幕レイヤー。 Linglass は YouTube の字幕描画に頼らず、独立したレイヤーに字幕を描きます。全画面でも同様です。ネイティブの CC ボタンが死んでいてもこのレイヤーは動きます。YouTube 側の字幕表示があきらめてしまう動画に何度も出会ったからこそ、そう作りました。
- トラックが本当にないときは音声認識。 トラックが最初から作られていない原因1に対しては、Linglass が音声を自分で書き起こし、YouTube が作らなかった字幕を生成します。2つの言語が話される動画も含みます——YouTube 自身が認識に失敗する場合として挙げているケースです。
- 2行同時。 どのみち自前のレイヤーを描いているので、原文とあなたの言語を同時に表示できます。YouTube にはそもそもできないことです。
正直な限界
万能ではありませんし、届かない範囲ははっきり書いておくべきです。
- 私たちも絞られることがあります。 別経路であって、無敵ではありません。YouTube の制限が十分に広い範囲に及ぶと私たちのサーバーも同じ壁に当たります。そのときは空の画面ではなく、そうなったと Linglass が正直に表示します。
- 本当に閉じている動画があります。 限定公開、メンバー限定、地域ブロック、未公開の動画は、どの経路でも字幕を出せません。それを約束すべきツールはありません。
- 拡張機能の競合は実在する原因で、私たちも拡張機能です。 何かを入れた直後に字幕が壊れたなら、それを切って試してください——私たちも含めて。邪魔なツールを使い続けてもらうより、本当の原因を見つけてもらうほうが大事です。
- デスクトップのブラウザ、および iPhone・iPad アプリ。 拡張機能はパソコンの Chrome・Edge・Yandex Browser で動きます。スマホとタブレットは iOS アプリ経由です。Android アプリはまだなく、テレビにはどの拡張機能も届きません。
よくある質問
YouTube で字幕が出ないのはなぜですか?
同じ症状に、無関係な3つの原因があります。動画に字幕トラックがそもそもない、YouTube がトラックを端末に渡すのを拒んでいる、受け取ったトラックをプレーヤーが描画できていない、の3つです。キャッシュ削除が対処できるのは3番目だけです。まず ⋯ メニューの 「文字起こしを表示」 を確認してください。なければトラックは存在せず、ブラウザ側の対処では作れません。
YouTube の「字幕の読み込みエラー」とは何ですか?
プレーヤーが字幕ファイルを取りに行く別リクエストが失敗した、という意味です。多くの場合は YouTube がそのリクエストにレート制限をかけており、しかもアカウント単位ではなく IP アドレス単位なので、同じ回線を使う人がまとめて影響を受け、しばらくすると自然に解除されます。端末側が壊れたり破損したりしている兆候ではありません。
全画面にすると YouTube の字幕が消えるのはなぜですか?
これは字幕ではなく描画の不具合です。テキストは届いているのに、字幕レイヤーが映像面に対してずれた位置に置かれてしまいます。全画面を解除して入り直すとたいてい戻ります。この問題のもっとも多い形であり、定番のトラブルシューティングが実際に効く数少ないケースの1つです。
VPN で YouTube の字幕が直るのはなぜですか?
IP アドレスが変わるからです。YouTube の字幕のスロットリングは IP 単位でかかります。VPN で字幕が戻ったなら、それは字幕トラックが存在していて、単にあなたの回線に対して拒否されていたことの裏づけです。レート制限には期限があるので待っても同じことが起きますし、どちらもキャッシュやブラウザのバージョンとは無関係です。
ブラウザの拡張機能が YouTube の字幕を止めることはありますか?
あります。広告ブロッカー、スクリプトブロッカー、ほかの字幕ツールは、字幕リクエストを遮断したり、ページの同じ部分を奪い合ったりします。拡張機能を切って試すのは正当な助言で、私たちのような字幕拡張にも当てはまります。あなたの問題の原因になっているツールは、使い続ける価値がありません。
YouTube が字幕を読み込まないとき、字幕を得る方法はありますか?
多くの場合あります。拒否の対象は動画ではなくあなたのブラウザのセッションなので、同じトラックを別経路で取得すれば成功することがありますし、トラックが最初から作られていない場合は音声を直接書き起こせます。Linglass のような無料の拡張機能はその両方をプレーヤー内で行い、独自の字幕レイヤーを描くため、YouTube の字幕表示が動いているかどうかに依存しません。
まとめ
- 無関係な3つの原因が同じ症状を出します。トラックがない、トラックが渡されない、プレーヤーが描画しない。
- ⋯ メニューの 「文字起こしを表示」 が10秒テストです。文字起こしがなければトラックもなく、ブラウザの手入れでは作れません。
- 「字幕の読み込みエラー」はたいてい IP 単位のレート制限です。VPN が効くように見える理由も、放置で戻る理由も、家じゅうでまとめて字幕が消える理由もこれです。
- 全画面、拡張機能の競合、再生速度、固着した翻訳設定——これが3番目のカテゴリの実体で、「キャッシュを削除」はその大雑把な代役にすぎません。
- 別経路で字幕を取得し、独自のレイヤーを描くツールは3つのうち2つを回避でき、3つ目には音声認識で対応できます。
CC ボタンは嘘をついていません。まったく異なる3つのうちどれが起きたのかを伝える手段がないだけです——そしてどれなのかが分かった時点で、そのうち2つはあなたが直すべき問題ではなくなります。
YouTube の字幕経路に依存しない字幕
Linglass は、YouTube があなたの経路を拒んだときに自前の経路でトラックを取得し、全画面でも動く独自の字幕レイヤーを描き、字幕が存在しない動画では音声を書き起こします。2言語同時表示、クリック翻訳、単語カードつき。無料。
App Store