MP3/AAC と H264 をサポートする Chromium をコンパイルする方法

MP3/AAC と H264 をサポートする Chromium をコンパイルする方法

私の質問はこれですそれは約3年前に尋ねられたものです。

私はMac OS X(10.11.6 El Capitanを使用しています)でMP3、AACなどをサポートするChromiumをコンパイルしたいと思っています。これまでのところ、chromium.org の説明を実行した後、HTML5テストデフォルトでは、MP3 などの独自のコーデックをサポートしてコンパイルされないことに気付きました。

グーグルで調べたらこのページいくつかのコンパイラフラグについて言及している Chromium.org の Web サイト:

ffmpeg_branding
  Overrides which version of FFmpeg to use
  Default: $(branding)
  Values:
    Chrome - includes additional proprietary codecs (MP3, etc..) for use with Google Chrome
    Chromium - builds default set of codecs

proprietary_codecs
  Alters the list of codecs Chromium claims to support, which affects <source> and canPlayType() behaviour
  Default: 0(gyp)/false(gn)
  Values:
    0/false - <source> and canPlayType() assume the default set of codecs
    1/true - <source> and canPlayType() assume they support additional proprietary codecs

両方を args.gn に追加しましたgn args out/gnが、次のような数十行でビルドするとリンカー エラーが発生しました。

duplicate symbol  in: 
    obj/components/policy/proto/libproto_internal.a(device_management_backend.pb.o)

最初のフラグを削除してninja再度実行すると、わずか数秒後に同じリンカー エラーが発生しました。順番を変えて、追加した 2 番目のフラグを省略すると、コンパイルが最初からやり直されました。

さらに 1 時間正常にコンパイルした後、以前と同じバージョンになり、MP3/AAC をサポートしていないという同じ HTML5Test 結果が返されます。

私の質問は、これらのコーデックをサポートするように Chromium をコンパイルするにはどうすればよいかということです。

答え1

完了するために公式指示、その他の情報が表示されますこのgithubページすべてのコーデック (デフォルト コーデック + AAC、H264/AVC、H265/HEVC、MPEG-4) で Chromium をコンパイルします。Windows OS に重点を置いていますが、MacOS でも同様です。GN フラグを使用します。H265/HEVC のコンパイルはより複雑であることに注意してください。

たとえば、この設定を使用して、Windows と MacOS 用の独自の Chromium バージョンを構築して共有します (このウェブサイトで入手可能なバイナリ)。つまり、同様の Chromium バージョンを自分で作成できるのです! ;)

関連情報