2019年12月27日金曜日

YouTubeで最高音質を目指す

転載元は
こちら

2019年1月現在、YouTubeで最高品質の音声をリスナーに届ける方法に関するエントリです。Google検索エンジンのSEO同様、YouTubeの内部仕様はブラックボックスのため憶測による部分が少なくありませんが、一定の効果は体感できたように思いますのでメモ代わりにまとめます。
YouTubeでは一般ユーザ(⇔パートナー企業)に対し、アップロード時は音声の劣化がともなうAAC形式の使用を推奨しています。
前回エントリでは、この助言を無視してPCM、またはFLACやALACといった可逆圧縮形式でファイルを掲載する方がトランスコードの回数が減る(と思われる)分だけ高音質になるのではないかという仮説に基づき、PCM音声トラックを含む動画ファイルの作成方法を紹介しました。
さて、上記まではなにもかもが机上の論と憶測に基づくものでしたが、その後もいくつか興味深い発見がありましたので、断片的な情報ばかりですがここにまとめてみます。

YouTubeは数年前よりOpusに対応している

Opusはmp3, AACに続く後発の音声圧縮形式で、2012年に標準化されたばかりという比較的歴史の浅いフォーマットだそうです。 詳しくはWikipediaのエントリをご覧ください。

投稿動画がOpus形式で再生されているかどうかの確認方法

PCブラウザでの再生中、ビデオを右クリックすると表示されるウィンドウより「統計情報」を選択します。
このようなWindowが表示され、Opus形式の音声トラックが使用されていることがわかります。
赤い下線の部分をご覧ください。なお、ひとつ上の段では規定ラウドネスをどの程度上回っているかも確認できます。(上図では再生音量が7.6dB下げられていることがわかります)

Opusで再生することのメリット

Opus形式というよりはYouTubeの仕様によるものですが、エンコードに際しOpusに変換されたトラックは20kHz付近でハイカットされます。これに対し、AACの音声トラックはより低い16kHz付近から上が切られています。
カバーする周波数帯域以外にも、後発のOpusの方が同一のデータレートでも音質面においてAACより優れるという意見が多数あります。

YouTubeはパートナー(企業?)に対してはPCM 44.1kHz/24bitでのアップロードを推奨している

詳しくはこちらをご覧ください。
現在メジャーレーベルが掲載するMVの多くはOpus形式の音声トラックが再生されるようです。
また、パートナー企業に推奨されているフォーマットで一般ユーザがアップロードした場合でも音声がOpusに変換される場合があることが確認できましたので、トライする価値はあるものと思われます。
※YouTube側に、PCM形式の音声を投稿した一般ユーザに対してペナルティを課す意図がなければ、AAC投稿のメリットが思い当たらないというのが正直なところです。

Opusはすべてのブラウザに対応しているわけではない

Opus未対応のブラウザではこれまで通りAACなどで音声が再生されますので、非対応の環境でも音声がまったく出ないことはありません。

ビットレートは32fが最適、説

YouTubeに限らず、OpusやAACのエンコーダは変換やその前段のローパス処理を行うにあたり、音声を一旦32fに変換します。
知覚できないほどの差かもしれませんが、それなら初めから24bit integerではなくfloatのデータを渡してやる方がロスは少ないように思われます。
そして、最後に最も重要な点、

特定の条件を満たす動画は優先的にOpusに変換される

おそらく既存の動画をすべてOpusに変換するにはシステム側のリソースが足りない、または(特に古いものは)必然性がないのでしょう
残念ながらこれもすべて憶測ですが、以下に優先的にOpusトラックが生成されるための具体的な条件を記します。末尾に※印があるのは、筆者自身が試して信憑性が高いと感じた項です。
  • アップロード時の音声トラックがPCMまたはFLAC
  • パートナー企業のアカウントからの投稿
  • チャンネル登録者数が多いアカウントからの投稿
  • 映像が4K(ただし必須ではないことは確認済み)※
  • 再生数が多い動画 ※
はじめに挙げた条件「アップロード時の音声トラックがPCMまたはFLAC」は、音声トラックに配慮している可能性が低いと思われるYouTuberの作品も音声がOpusになっていることから必須ではないように思われます。

2019/1/19 追記

↓2019/3/30追記分をご覧ください。
YouTubeシステム内では44.1/48kHzに変換される(かつSRCの品質がイマイチ)なので、アップ前に44.1 or 48kHzにしておくのが無難という説も↓ 

2019/3/30 追記 

その後の調べで、Opusコーデックの仕様上、すべてのオーディオは20kHz以上をハイカットしたのち48kHzに変換されることがわかりました。(44.1kHzのソースも、一旦48kHzに変換されます)これはコーデックを最適化した結果であり、このSR変換が問題になりえるほどクリティカルな用途においては、はじめからFLACなどの可逆圧縮音声を使うべきだというOpus開発陣の考えに基づくものだそうです。
相変わらず推測の域を出ませんが、本日時点でソースに最も忠実な音声をYouTubeで提供するには、以下の条件を満たすことが有効であるように思われます。
  • 音声は48kHz/24bit PCM(再エンコードを回避)
  • True Peakは -1.0dBFS以下(エンコーダによる歪みを回避)
  • Loudness(I)は-13.5~-13.0LUFS程度(リダクションを最低限度に)

参考サイト

  • https://ameblo.jp/nightwish-daisuki/entry-12468880061.html
  • http://rdkblog.wp.xdomain.jp/videosite-soundquality/
  • https://opus-codec.org/

0 コメント:

コメントを投稿