YouTubeの詳細統計情報について

自分のためのメモ書きみたいなところと、日本語ではまとまった情報が全然出てこないので。

2020/05/06現在の情報。

# 詳細統計情報とは
YouTube再生中に使える再生情報をまとめたもの

端末でやる方法もあるが、見づらくなるだけ。
PCでも出すだけ見づらくなるが、調子が悪いときにここを参照すると原因がわかるかもしれない。

PCでの出し方は、動画プレイヤー上を右クリックして詳細統計情報をクリック。
消すにはボックスの右上にXボタンが有る。

## 何が書いてあるのか
上から順に、

- Video ID / sCPN
- Viewport / Frames
- Current / Optimal Res
- Volume / Normalized
- Codecs
- Color
- Connection Speed
- Network Activity
- Buffer Health
- Mystery Text

## つまり何を表すのか / 何に使えるのか

### Video ID / sCPN
再生中の動画IDとCPN

動画IDはyoutube内で使われている動画を識別するための個別のID。
再生リンクの`youtube.com/watch?v=`のあとに続くものと一致する。

sCPNに関しての記述は見つからなかったが、CPNはどうやら`Client Playback Nonce`とのことで、プレイヤークライアント側で設定される、再生IDのこと。
ログなどにはこの再生IDと一緒にイベント等が残り、これを参照してエラーなどの解決をするそう。

### Viewport / Frames
現在のプレイヤーサイズとフレーム情報

Viewportは、いわゆる表示領域。
YouTube上ではプレイヤーの大きさを表している。

Framesは動画内フレームの情報で、`(ドロップフレーム数) dropped of (全フレーム数)`の形式で表示されている。
フレームというのは、描画の数。何回写真を入れ替えたか、みたいなイメージ。
FPS(frames per seconds)という概念もある。
60fpsだったら一秒間に60回写真を入れ替えるのに等しい。
ドロップフレーム(dropped frame)は、動画の再生中に表示されなかった、またはロードできなかったフレーム。

全フレーム数は再生開始から現在まで何フレーム描画したかの値。

### Current / Optimal Res
現在の解像度と最適な解像度(resolution)。

解像度がそのまま書いてあり、現在の解像度は再生中の解像度を表し、最適な解像度はYouTubeによって判断されたクライアント上の最適解像度。

@よりあとはfps。

### Volume / Normalized
現在のYouTubeプレイヤーの音量と、自動減音の値。

現在のYouTubeプレイヤーの音量は端末の音量ではなく、プレイヤー下側から設定するものであり、上下矢印キーによって設定できるものである。

自動減音は、YouTUbeは動画内で高すぎる音圧を検知すると自動で音量を下げる様になっているので、その値。
-になっていれば減音されている。

その横、(content loudness)は再生しているコンテンツの最大音量を表す。

### Codecs
現在再生中のコンテンツにどのコーデックが使われているか。

/より左側が動画コーデック、右側が音声コーデック。
()内には少し前まで使われていたコーデックのナンバリングフォーマットが書いてある。

### Color
色の再現性に基づく色空間の名前。
そのまま検索すればだいたい出てきます。

左がクライアント、右がサーバーだと思います。

### Connection Speed
読んで字の如く、接続速度です。左側に0.25秒ごとのグラフ、右側に数字としてビットレートが表示されます。

|<16進数>[日本語]サンプル|接続速度|
|---|---|
|\<000000> [黒] <font color=#000000>■</font>|0bps|
|\<e50044> [鮮やかな赤] <font color=#e50044>■</font>|0bpsより大きい|
|\<ff592d> [赤みの橙] <font color=#ff592d>■</font>|150Kbps以上|
|\<ffe384> [軽い黄色] <font color=#ffe384>■</font>|300Kbps以上|
|\<dffc94> [軽い黄緑] <font color=#dffc94>■</font>|600Kbps以上|
|<9be4a4> [明灰みの緑] <font color=#9be4a4>■</font>|2000Kbps以上|

### Network Activity
ネットワーク通信の量を示すものです。左側にグラフ、右側にデータ量が表示されます。
グラフは0.25秒、更新は0.5秒刻み。

|<16進数>[日本語]サンプル|通信量|
|---|---|
|\<000000> [黒] <font color=#000000>■</font>|0B|
|\<e50044> [鮮やかな赤] <font color=#e50044>■</font>|0KBより大きい|
|\<ff592d> [赤みの橙] <font color=#ff592d>■</font>|10KB以上|
|\<ffe384> [軽い黄色] <font color=#ffe384>■</font>|20KB以上|
|\<dffc94> [軽い黄緑] <font color=#dffc94>■</font>|40KB以上|
|<9be4a4> [明灰みの緑] <font color=#9be4a4>■</font>|80KB以上|

### Buffer Health
動画のキャッシュ秒数を表します。
左側にグラフ、右側に秒数が表示されます。
グラフは0.25秒、更新は0.5秒刻みです。

|<16進数>[日本語]サンプル|キャッシュ秒数|
|---|---|
|\<000000> [黒] <font color=#000000>■</font>|0s|
|\<ffe384> [軽い黄色] <font color=#ffe384>■</font>|0sより大きい|
|\<dffc94> [軽い黄緑] <font color=#dffc94>■</font>|15s以上|
|\<3cc9a7> [深い青緑] <font color=#3cc9a7>■</font>|30s以上|
|\<0f87c0> [鮮やかな青] <font color=#0f87c0>■</font>|60s以上|
|\<ffffff> [白] <font color=#ffffff>■</font>|90s以上|

### Mystery Text
ミステリーテキストは以下の要素から成り立つ。

- s : ステータスコード
- t : タイムスタンプ
- b : バッファーセクション
- その他のステータスコード

####ステータスコード
sは現在のプレイヤーの状態を表す。
以下にその例を示す。

|ステータスコード|詳細|
|---|---|
|4|一時停止(再生可能)|
|8|再生中|
|9|再生中(バッファ低下)|
|14|再生停止中かつ再生準備中|
|19|再生中かつ再生準備中|
|24|シークバー操作中|
|49|プレイリスト等で、再生終了後次の動画の再生準備中|
|59|レジューム機能により再生を途中から開始する時|
|e| ~~サジェスチョン画面~~ というより動画の再生が終了したことを表すものかもしれない |

他にも多くのコードが報告されているが、その内容は推測するしかなく、実質的に何を表すものかわかっていないものも多い。

#### タイムスタンプ
これは現在のコンテンツのどの位置にプレイヤーが位置しているかをミリ秒で表したものである。

#### バッファーセクション
これは、現在プレイヤーがどの位置をキャッシュしているのかを表す。
それは次のような形式で表示される。
`(バッファーセクションの開始位置)-(バッファーセクションの終了位置)`
バッファーセクションが複数存在する場合、それはコンマ区切りで連続して表示される。

#### その他のステータスコード
これはアルファベットで表示され、現在のプレイヤーの簡易的な状態を表す。
以下はその一例である。

|コード|状態|
|---|---|
|(コードなし)|再生中かつその他の情報なし|
|P(Paused)|一時停止中|
|S(Skip?)|再生準備中|
|E(?)|再生終了後のサジェスチョン画面|

## 終わりに

ここで紹介したものはあくまでも公式による発表に基づくものではない。
公式からは一切の発表がされておらず、現在ではその内容は推測でしかなく、内容について保証できるものではない。
しかし多くの見解について状況からそれらが確信的なものであると考えられているため、こうして書いている。

(2023/1/16 色コードのところがわかりにくいと感じたため修正)