ニコニコ公式生放送のColormatrixフラグとVLCの変なYUV>RGB変換

ふと、とあるニコニコ生放送を保存しようとして、高画質放送に接続したら、高画質にも二種類あることに気がついた。
普段の放送は低画質・高画質の二種類だから、高画質が2つあるのは謎。

浅倉杏美・阿部里果・福原 綾香・山崎はるかの #クリスマスは年賀状書くから忙しい
http://live.nicovideo.jp/gate/lv284145352

1: Metadata:
moovPosition : 36
avcprofile : 77
avclevel : 31
aacaot : 2
videoframerate : 30
audiochannels : 2
length : 13403832
timescale : 1000
sampletype : mp4a
Duration: 03:43:23.83, start: 0.670000, bitrate: 1001 kb/s
Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp
Stream #0:1: Video: h264 (Main), yuv420p, 832×468 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 5994 tbc

2: Metadata:
moovPosition : 36
avcprofile : 77
avclevel : 30
aacaot : 2
videoframerate : 30
audiochannels : 2
length : 13346329
timescale : 1000
sampletype : mp4a
Duration: 03:42:26.33, start: 0.753000, bitrate: 991 kb/s
Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp
Stream #0:1: Video: h264 (Main), yuv420p, 704×396 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 5994 tbc

どちらも解像度とそれに付随するH264レベル以外同じ。

それを”VLC”で再生すると、一つ、色がなんだか薄いというか、変な色。

lv284145352.png

左上と右下は同じストリームである。

VLCのハードウェアによる色空間の変換では、Colormatrixフラグがついていない場合、BT.709入力を強制的にBT.601>RGBで描画しているらしい。
本来、BT.709とBT.601はHD解像度を堺に、自動で判別されるべきであるのだが、VLCのハードウェア色変換の場合それが出来ない(していない)らしい。

解決策は
VLCメディアプレーヤーで動画を再生すると色が変になる。YUV->RGB変換。 – いつものしらべてもでてこない
http://bannan.hatenadiary.jp/entry/2015/02/11/103738

にある通り、ビデオの項目から「ハードウェアによるYUV-RGB変換」のチェックを外すだけ。

さて、本題の高画質放送が2つある理由、新プレーヤーなのか、それとも携帯デバイス用or・・・?

なんであれ、本来どちらのストリームもBT.601空間になる解像度なので、BT.709と明示してあげるべき。

しかしながら、現行ニコニコプレーヤーのAdobeFlashは全てBT.709を使う仕様なので指定しなくても正しい色空間になるらしい。

というわけで、右下と右上のストリームは正しい色、ということになる。

アレ・・・?右上のストリーム、やけに鮮やかですね。

謎・・・。