[FFmpeg-devel] [PATCH] build: Allow libffmpeg to be built for Chromium-based browsers

Hendrik Leppkes h.leppkes at gmail.com
Sat Jul 29 01:20:38 EEST 2017

On Fri, Jul 28, 2017 at 12:07 PM, James Le Cuirot <chewi at gentoo.org> wrote:
> Google Chrome ships with support for proprietary codecs and Chromium
> can be built with support for them, either using the bundled FFmpeg or
> a system copy.
> This leaves other browsers such as Opera and Vivaldi, which ship with
> a libffmpeg that does not support proprietary codecs, presumably for
> cost reasons. These projects actively encourage users to swap this
> library with an alternative.
> Official instructions say to download the very large Chromium tarball
> and use its build system to configure and build libffmpeg. This
> involves building a lot of extra baggage that simply isn't needed
> because libffmpeg is literally just the main FFmpeg libraries
> combined. Binary-based distributions can easily take this hit but for
> source-based distributions, this hit is passed onto the end user.
> This Makefile snippet allows libffmpeg to be created without the help
> of Chromium's build system. It uses the CONFIG_SHARED variable to
> decide whether to link the FFmpeg libraries statically or
> dynamically. In the latter case, libffmpeg is just a wrapper with no
> symbols of its own.
> At this current time, recent Chromium versions support the 3.x ABI
> with just one major exception. Unless built against the system copy,
> -DFF_API_CONVERGENCE_DURATION=0 is used. This means that, other
> factors notwithstanding, full compatibility will not be seen until
> libavcodec hits 59. This is why I have provided the ability to link
> FFmpeg statically.
> This is how to build libffmpeg for a recent Chromium-based release:

I don't think ffmpeg is the right place to maintain special makefiles
for Chromium.

- Hendrik

More information about the ffmpeg-devel mailing list