在Windows平台下重新编译CEF支持H264

**

Step0. 环境配置

**

1.可用于稳定的下载网络(需要翻墙,需要翻墙,需要翻墙)重要的事情说3次
2.Win7或者更高版本的系统,必须64位,至少8GB的RAM,我采用win10 64位,16GRAM
3.比较新的VS(编译不同版本要求不一样,具体看Cef官网帮助,我用的是VS2017专业版),需要安装“C++桌面组件” 和 “MFC和ATL支持”,最好安装在默认路径,VS2017还需要特殊配置
4.Win10 SDK 10.0.17763.0,10.0.19041.0(最新版本)
5.至少100G剩余空间(官方要求),NTFS文件系统,部分文件超过4G,部分资料显示最少60G,编译结束后发现远超60G

准备工作
1.设置系统区域为英语(美国)。(控制面板-区域-管理-更改系统区域设置-英语(美国)),设置完需要重启
2.创建工作目录,路径不能包含空格及特殊字符。例如d:\cef

3.下载编译工具包,解压至工作目录。例如d:\cef\depot_tools
https://storage.googleapis.com/chrome-infra/depot_tools.zip
并添加到系统环境变量Path末尾。例:d:\cef\depot_tools

4.下载编译脚本至工作目录。例如d:\cef
https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py

5.在工作目录下创建源码目录。例如d:\cef\source
6.添加系统环境变量
set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true
set GYP_DEFINES=buildtype=Official
set GYP_MSVS_VERSION=2017
set CEF_ARCHIVE_FORMAT=tar.bz2

完整目录结构:
d:/cef/
automate-git.py
depot_tools/
source/

**

Step1. 下载源码

**
管理员身份运行Cmd

--------------gclient更新以及python安装--------------
切换到工作目录d:\cef 运行gclient
d:
cd d:\cef

gclient
等待安装python和git。

--------------下载CEF源码--------------
https://bitbucket.org/chromiumembedded/cef/branches/ (分支编号可以去官网进行查找—我这里下载的分支为4324对应的CEFSharp版本为88.2.9版本

python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-build --no-distrib --force-clean

等待下载完成。等待下载完成这个过程会持续大约6个小时左右

如果下载失败则继续运行上面的命令重新下载直到下载完成

**

Step2. 文件配置

**

配置CEF支持H264

打开 source\chromium\src\third_party\ffmpeg\chromium\scripts\build_ffmpeg.py

configure_flags[‘Chrome’].extend([
‘–enable-decoder=aac,h264,mp3’,
‘–enable-demuxer=aac,mp3,mov’,
‘–enable-parser=aac,h264,mpegaudio’,
])

改为

configure_flags[‘Chrome’].extend([
‘–enable-decoder=aac,h264,mp3,mpeg4,amrnb,amrwb,flv’,
‘–enable-demuxer=aac,mp3,mov,avi,amr,flv’,
‘–enable-parser=aac,h264,mpegaudio,mpeg4video,h263’,
])

打开 source\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h
打开 source\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win\x64\config.h,

在原有配置宏FFMPEG_CONFIGURATION里增加以下:

––enable-decoder=‘rv10,rv20,rv30,rv40,cook,h263,h263i,mpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,amrnb,amrwb,ac3,flv’ ––enable-demuxer=‘rm,mpegvideo,avi,avisynth,h263,aac,amr,ac3,flv,mpegts,mpegtsraw’ ––enable-parser=‘mpegvideo,rv30,rv40,h263,mpeg4video,ac3’

并去掉FFMPEG_CONFIGURATION这里的注释

**

Step3. 命令生成

**

上面是通过查资料修改的,修改后编译能通过,没有报错,但是没有MP3、MP4支持。下面指令设置后再次编译便有了MP3、MP4支持,所以上面的这些有没有用不敢确定。
下面的指令,很重要!!!

--------------------------------------------------Cmd命令--------------------------------------------------
set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome
set GYP_DEFINES=buildtype=Official
*** set GYP_MSVS_VERSION=2017
set CEF_ARCHIVE_FORMAT=tar.bz2
set GYP_GENERATORS=ninja,msvs-ninja
*** set GN_ARGUMENTS=–ide=vs2017 --sln=cef --filters=//cef/*
*** set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional
*** set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10
*** set WINDOWSSDKDIR=C:\Program Files (x86)\Windows Kits\10
*** set VS_CRT_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\crt\src\vcruntime
*** set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include;%INCLUDE%
--------------------------------------------------x86--------------------------------------------------
*** set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x86;%LIB%
*** set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x86\Microsoft.VC141.CRT;%PATH%
--------------------------------------------------x64--------------------------------------------------
*** set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x64;%LIB%
*** set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT;%PATH%

*** 标记以上路径根据自己安装的WindowsSDK版本以及VS版本自行修改 使用统一版本进行编译

--------------------------------------------------编译命令--------------------------------------------------

--------------------------------------------------build x64--------------------------------------------------
python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build --x64-build
--------------------------------------------------build x86--------------------------------------------------
python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build

编译过程大约需要持续6个小时左右

编译好的程序输出目录为source\chromium\src\out\Release_GN_x86 和 source\chromium\src\cef\binary_distrib 编译完成后自行查看

*** 108.4.13 版本 vs2019

set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true use_thin_lto=false
set GYP_MSVS_VERSION=2019
set CEF_ARCHIVE_FORMAT=tar.bz2
set GN_DEFINES=is_official_build=true use_thin_lto=false proprietary_codecs=true ffmpeg_branding=Chrome
set GYP_GENERATORS=ninja,msvs-ninja
set GN_ARGUMENTS=–ide=vs2019 --sln=cef --filters=//cef/*
set WIN_CUSTOM_TOOLCHAIN=1
set CEF_VCVARS=none
set vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10
set VS_CRT_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\crt

-x86-------------------------------------------------------------------------------------------------------------------------------------------------
set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\include;%INCLUDE%
set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x86;%LIB%
set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.CRT;%PATH%

-x64-------------------------------------------------------------------------------------------------------------------------------------------------
set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\include;%INCLUDE%
set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;%LIB%
set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT;%PATH%

python automate-git.py --download-dir=e:\cef\source --branch=5359 --no-update --build-log-file --verbose-build --force-build --with-pgo-profiles
python automate-git.py --download-dir=e:\cef\source --branch=5359 --no-update --build-log-file --verbose-build --force-build --x64-build --with-pgo-profiles


下载地址:CefSharp_88.2.9_x86_x64_H.264
下载地址:CefSharp-108.4.13-x86-x64-H.264

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值