YouTubeの動画ホストfallback処理について
ネットワークタブを見てみると、どうやら特定の外れホストに最初に繋ぎに行くが全然繋がらず、その後でフォールバックしているように見える。
https://gyazo.com/b48b3040da0dfd99fc800fb326de3e32
こういうフォールバックってなんか API を呼んで新しいURLをもらいそうなものだが、どういうわけか平常時のリクエストに追加の通信なしでいきなりフォールバックしているので、仕組みが気になって調べてみた。
結論: (.googlevideo.com については) 次の法則でフォールバック先ホストが決まる。
https://{rrかr (元URLの通り)}{query[fvip]}---{query[mn].split(",")[1]}.googlevideo.com
あとクエリにおまけでfallback_count=1が付く。
ちなみに更にフォールバック先まで殺してもAPIで新しいホストを持ってくるなんてことはなくて、ただ単に無限Loading画面地獄になる (エラーを出せ)