Due to the H264 license issue, I want to build the cef with ffmpeg as dynamic library, for example, libffmpeg.dylib.
According to "https://gitlab.com/noencoding/OS-X-Chromium-with-proprietary-codecs/-/wikis/List-of-all-gn-arguments-for-Chromium-build", look like following 2 options could help:
is_component_build
and
is_component_ffmpeg
So I have tried to build the cef on MacOS:
# export CEF_USE_GN=1
# export GN_DEFINES="proprietary_codecs=true is_component_build=true is_component_ffmpeg=true ffmpeg_branding=Chrome"
# export CEF_ARCHIVE_FORMAT=tar.bz2
# python automate/automate-git.py --download-dir=~/cef/chromium_git \
--branch=4280 \
--client-distrib --x64-build
Finally, it didn't generate the dynamic library "libffmpeg.dylib" in cef framework. The "~/cef/chromium_git/chromium/src/out/Release_GN_x64/args.gn" contents:
chrome_pgo_phase=0
clang_use_chrome_plugins=false
enable_background_mode=false
enable_basic_printing=true
enable_dsyms=true
enable_nacl=false
enable_print_preview=true
enable_resource_allowlist_generation=false
enable_widevine=true
ffmpeg_branding="Chrome"
forbid_non_component_debug_builds=false
is_component_build=true
is_component_ffmpeg=true
is_debug=false
optimize_webui=true
proprietary_codecs=true
target_cpu="x64"
Look like "is_component_ffmpeg" doesn't help, is it just for Linux platform? since it says:
is_component_ffmpeg
Current value (from the default) = false
From //third_party/ffmpeg/ffmpeg_options.gni:41
Set true to build ffmpeg as a shared library. NOTE: this means we should
always consult is_component_ffmpeg instead of is_component_build for
ffmpeg targets. This helps linux chromium packagers that swap out our
ffmpeg.so with their own. See discussion here
https://groups.google.com/a/chromium.or ... k0zzmJbvcJ
Any idea to build the dynamic library for ffmpeg on MacOS?