如何编译支持 MP3/AAC 和 H264 的 Chromium

如何编译支持 MP3/AAC 和 H264 的 Chromium

我的问题类似于这个这是近三年前提出的问题。

我想在 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 版本!;)

相关内容