我的問題類似於這個這是近三年前提出的問題。
我想在 Mac OS X 上編譯支援 MP3、AAC 等的 Chromium(我使用的是 10.11.6 El Capitan)。到目前為止,我設法根據標準設定編譯它chromium.org 上的說明。運行後HTML5測試我意識到預設情況下它不支援 MP3 等專有編解碼器。
經過一番谷歌搜尋後我發現這一頁在 Chromium.org 網站上提到了一些編譯器標誌:
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
再次運行,僅幾秒鐘後就導致了相同的連結器錯誤。我改變了一切,現在省略了我添加的第二個標誌,它再次開始編譯。
又成功編譯一個小時後,它得到的版本與之前給我的 HTML5Test 結果相同,不支援 MP3/AAC。
我現在的問題是,如何編譯支援這些編解碼器的 Chromium?
答案1
為了完成官方說明,您將看到有關的其他信息這個 github 頁面使用所有編解碼器(預設編解碼器 + AAC、H264/AVC、H265/HEVC、MPEG-4)編譯 Chromium。它側重於 Windows 作業系統,但在 MacOS 上類似。使用 GN 標誌。注意 H265/HEVC 編譯更為複雜。
例如,我們使用此設定來建立和分享我們自己的適用於 Windows 和 MacOS 的 Chromium 版本(本網站上提供的二進位文件)。所以你可以自己做一個類似的Chromium版本! ;)