私の質問はこれですそれは約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 バージョンを自分で作成できるのです! ;)