MacBSの日常生活的日記

YouTubeの音質検証

Twitter動画の音質があまりに悪いので、YouTubeをたまに使っていたのですが、それでもなんとなく不満が…。

そこでYouTubeにアップした動画の音声を周波数解析してみました。(先頭200秒くらい)

見事に16kHzでカットされていますし、低域の再現性もいまひとつです。
そもそもiMovieでMP4を書き出した時点でも同様に16kHz辺りでカットされてしまっているケースも多いようです。
ちなみにPCM-D100で録音したものを16bit/44.1kHzにした時点では下のような周波数特性となっています。

そこでiMovieはProResで書き出し、それを改めてYouTubeにアップして試しましたが結果はほぼ同じです。
厳密にはYouTube側での再エンコード(デコードも含む)による劣化が少し抑えられるのでProResでアップしたほうが音質は良くなっているようですが、なにせProResではファイルサイズが巨大になってしまうわりに効果が薄いです。

さらに調べてみるとOpusという音声形式になるケースもあるそうで、これだと16kHz以上もしっかり残って高音質なんだとか。
4Kでアップすると生成されやすく、動画部分もMP4ではなくWebM(VP9)となるんですね。
ただし、VP9に対応しているのはGoogle Chromeのみで、SafariなどはMP4で再生されてしまいますので、音声もHE-AAC(128kbps)となってしまいます。
そもそもSafariでは4K動画をアップしても1080pまでしか再生できない状態で、なかなか面倒なんですねぇ。

しかし高音質にできると分かったら一応やってみないと気が済まないわけです。
PCM-D100で録った音声を32bit/48kHzとし、画像は4K相当までアップスケーリングしておいてiMovieで…とやろうとしますが、なぜか書き出しに4Kが選択できません。
どうやら一旦、4Kのムービーを先頭に入れてあげれば4K出力できるようになる仕様らしく、これもまた面倒です。

そうやって生成されたバカでかいProRes動画をYouTubeにアップしますが、アップしてしばらくはどうやっても「mp4a.40.2(140)」の表記で16kHzでカットされたまま…。
ちなみにChromeだとちゃんと4Kで再生できますし、動画も「vp09」表記になっていました。

ここまでやってさすがに諦めていたのですが、2日ほど放置しておいたら「opus(251)」が生成されていました。
早速これで再生してみると音がぜんぜん違いますね。
ちょっとスッキリした感じを強調されている感もありますし、低域の解像度はまだまだという印象もありますが、周波数特性としては20kHz以上まで伸びています。
(いつものように縦軸の目盛りがあってないので見比べづらくてスミマセン。)

ただこれだけ頑張ってもOpusで聴けるのはあくまでパソコン版のChromeのみ。
チラッと試した感じではiPhoneのYouTubeアプリ、Chromeアプリもそもそも1080p止まりで4Kですら再生できません。
なおOpusが生成されれば、Chromeなら画質は320pに落としても音声自体は同品質が保持されているようです。

そうでなくてもTwitter動画に比べたらYouTubeでの閲覧は少ないですし、ここまでやっても高音質のOpusが生成されるには時間が掛かるとなると使える技ではないかも。
そもそもYouTubeなどのネット動画で音質を云々言うことが間違ってるのかもしれませんし、その点ではむしろiPhone 8以降で対応しているHDRのほうが恩恵としては大きいんですけどね。

ただ、どうしても高音質にアップしたいという方は時間に余裕を持ってあらかじめ4K(ProRes)でWAV音声を上げると良いようです。
WAV形式に関しては32bit floatが良いという説、24bitが良い、48kHz、いやいや44.1kHzとこれまた諸説あるようですので、その辺りは試してみたい方は色々実験してみてくださいませ。
#私はもうここで疲れました。

モバイルバージョンを終了