草庐IT

CEF 102.0.5005.115 自己编译加上支持播放MP4视频

creend 2023-04-03 原文

由于研究学习需要,使用CEF,发现官网的版本默认不带视频播放功能,参考官网,这里记录一下自己编译的过程,文档记录的CEF版本号为102.0.5005.115

一、必要前提

软件:VS2019,Win 10.0.20348 SDK, Ninja,git,python(参考chromiumembedded / cef / wiki / BranchesAndBuilding — Bitbucket

磁盘:需要有足够的空间,100G以上

网络:能稳定访问Google的网络(非常重要,关系到编译是否能成功及避免各种奇怪问题)

二、编译过程

参考:chromiumembedded / cef / wiki / MasterBuildQuickStart — Bitbucket

1.安装vs2019,windows sdk,Ninja,git,python

2.建设本地代码目录

D:\cef
  automate/
    automate-git.py   <-- CEF build script
  chromium_git/
    cef/              <-- CEF source checkout
    chromium/
      src/            <-- Chromium source checkout
    update.[bat|sh]   <-- Bootstrap script for automate-git.py
  depot_tools/        <-- Chromium build tools

3.设置环境变量及代理

set vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community

打开cmd,代理端口根据自己的软件设置,这里使用1080

#git 代理

git config --global http.proxy "http://127.0.0.1:1080"
git config --global https.proxy "http://127.0.0.1:1080"

#http代理
set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080

#设置boto代理

set NO_AUTH_BOTO_CONFIG=D:\cef\.boto

#.boto 文件内容如下

[Boto]
proxy = 127.0.0.1
proxy_port = 1080

4.下载代码

接着在上面打开的CMD中执行

cd /d D:\cef\chromium_git\chromium

set GN_DEFINES=is_official_build=true use_thin_lto=false
set GYP_MSVS_VERSION=2019
set CEF_ARCHIVE_FORMAT=tar.bz2
@REM 添加MP3、MP4支持 使用此条指令
set GN_DEFINES=ffmpeg_branding=Chrome proprietary_codecs=true is_official_build=true is_component_build=false

@REM 第一次源码下载不加--no-depot-tools-update,会先包工具包下下来

python3 ..\automate\automate-git.py --download-dir=D:\cef\chromium_git --branch=5005 --no-build --no-distrib --force-clean --force-clean-deps --no-depot-tools-update

5.编译源码

(1)进入源码目录
cd D:\cef\chromium_git\chromium\src\cef
(2)生成编译配置文件

复制D:\cef\create.bat到D:\cef\chromium_git\chromium\src\cef
copy D:\cef\create.bat D:\cef\chromium_git\chromium\src\cef
create.bat是自己创建的
create.bat 内容如下
--start
set GN_DEFINES=is_official_build=true use_thin_lto=false
set GYP_MSVS_VERSION=2019
set CEF_ARCHIVE_FORMAT=tar.bz2

--end

执行 D:\cef\chromium_git\chromium\src\cef\create.bat
(3)编译代码

cd D:\cef\chromium_git\chromium\src

#编译32位

ninja -C out\Release_GN_x86 cef

ninja -C out\Release_GN_x86_sandbox cef_sandbox

#编译64位

ninja -C out\Release_GN_x64 cef

ninja -C out\Release_GN_x64_sandbox cef_sandbox

6.打包

切换当前目录到 chromium_git\chromium\src\cef\tools ,然后使用如下命令进行打包:

cd D:\cef\chromium_git\chromium\src\cef\tools

.\make_distrib.bat --ninja-build --minimal

.\make_distrib.bat --ninja-build --minimal --x64-build

在 chromium_git\chromium\src\cef\binary_distrib 目录下你就可以看到打包过的文件了,搞定收工

三、后记

由于其中最复杂的网络问题,大家觉得麻烦的,本人已编译好了一部分,收费目的是大家分摊一下网络费用,可下载选用

CEF102.0.5005.115Windows自己编译支持视频播放(支持H.264,MP4,MP3等)102版本32位_cefmp4-C++文档类资源-CSDN下载

CEF102.0.5005.115Windows自己编译支持视频播放(支持H.264,MP4,MP3等)102版本64位_cefsharp102支持h264-C++文档类资源-CSDN下载

CEF101.0.4951.67Windows自己编译支持视频播放(支持H.264,MP4,MP3等)101版本32_cef34324-C++文档类资源-CSDN下载

CEF101.0.4951.67Windows自己编译支持视频播放(支持H.264,MP4,MP3等)101版本64位-C++文档类资源-CSDN下载

CEF100.0.4896.75Windows自己编译支持视频播放(支持H.264,MP4,MP3等)100版本64-C++文档类资源-CSDN下载


 更多版本,参考 CEF 最新版本自己编译加上支持播放MP4视频_creend的博客-CSDN博客

有关CEF 102.0.5005.115 自己编译加上支持播放MP4视频的更多相关文章

  1. ruby - Sinatra set cache_control to static files in public folder编译错误 - 2

    我不知道为什么,但是当我设置这个设置时它无法编译设置:static_cache_control,[:public,:max_age=>300]这是我得到的syntaxerror,unexpectedtASSOC,expecting']'(SyntaxError)set:static_cache_control,[:public,:max_age=>300]^我只想将“过期”header设置为css、javaascript和图像文件。谢谢。 最佳答案 我猜您使用的是Ruby1.8.7。Sinatra文档中显示的语法似乎是在Ruby1.

  2. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  3. ruby-on-rails - 如何测试自己对 Ruby/ROR 的了解? - 2

    是否有self验证的问题列表。看着那个,我可以确定我知道。我应该复习一下。在学习的过程中,我列了一个这样的list,但它只包含我在某处听说过的项目。我需要一段时间才能找到新的东西。 最佳答案 以下是针对ruby​​和Rails的一些测试列表。证书名称:RubyonRails谁提供:oDeskIncorporation认证费用:免费网站:https://www.odesk.com/tests/985?pos=0证书名称:RubyonRails提供者:Techgig.com(TimesBusinessSolutionsLimited(T

  4. .net - 是否有 Ruby .NET 编译器? - 2

    是否有适用于Ruby语言的.NETFramework编译器?我听说过DLR(动态语言运行时),这是否将使Ruby能够用于.NET开发? 最佳答案 IronRuby是Microsoft支持的项目,建立在动态语言运行时之上。 关于.net-是否有Ruby.NET编译器?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/199638/

  5. ruby - 如何以编程方式将 mp3 转换为 itunes 可播放的 aac/m4a 文件? - 2

    我一直在寻找一种以编程方式或通过命令行将mp3转换为aac的方法,但没有成功。理想情况下,我有一段代码可以从我的Rails应用程序中调用,将mp3转换为aac。我安装了ffmpeg和libfaac,并能够使用以下命令创建aac文件:ffmpeg-itest.mp3-acodeclibfaac-ab163840dest.aac当我将输出文件的名称更改为dest.m4a时,它无法在iTunes中播放。谢谢! 最佳答案 FFmpeg提供AAC编码功能(如果您已编译它们)。如果您使用的是Windows,则可以从here获取完整的二进制文件。

  6. python - 使用 Python、Ruby 和 Perl 重新编译 MacPort 版本的 MacVim - 2

    关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。ImprovethisquestionLinux专家正在转向Mac(10.8)。因为我懒...我使用MacPorts安装MacVim。它似乎安装没有错误。我只需要mvim中的python、ruby和perl支持。$/opt/local/bin/mvim--version|egrep'patches|python|ruby|perl'Includedpatches:1-244,246-646+multi_lang-mzscheme+

  7. ruby - 为什么 `middleman serve` 有效,但是 `middleman build` 编译这个 Sass 失败? - 2

    当我刚刚运行middleman时服务,all.css编译得很好,只包含对+box-shadow(none)的调用:/*line1,/home/yang/asdf/source/stylesheets/content.css.sass*/div{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}但是当我构建网站时,我得到了这个Sass/Compass错误:$middlemanbuildSlim::EmbeddedEngineisdeprecated,itiscalledSlim::EmbeddedinSlim2.0

  8. ruby-on-rails - 用一系列时间增量填充选择,加上其他选项 - 2

    使用RubyonRails,我使用给定的增量(例如每30分钟)用时间填充“选择”。目前我正在YAML文件中写出所有的可能性,但我觉得有一种更巧妙的方法。我想我想提供一个开始时间、一个结束时间、一个增量,并且目前只提供一个名为“关闭”的选项(想想“business_hours”)。所以,我的选择可能会显示:'Closed'5:00am5:30am6:00am...[allthewayto]...11:30pm谁能想出更好的方法,或者只是将它们全部“拼写”出来的最佳方法? 最佳答案 此答案基于@emh的答案。defcreate_hour

  9. ruby - 如何播放 mp3 文件? - 2

    我如何用ruby​​编写一个脚本,当从命令行执行时播放mp3文件(背景音乐)?我试过了run="mplayer#{"/Users/bhushan/resume/m.mp3"}-aosdl-vox11-framedrop-cache16384-cache-min20/100"system(run)但它也不起作用,以上是播放器特定的。如果用户没有安装mplayer怎么办。有没有更好的办法? 最佳答案 我一般都是这样pid=fork{exec'mpg123','-q',file} 关于ruby

  10. ruby - 有没有办法在 Ruby 中执行编译时类型检查? - 2

    我知道Ruby是动态和强类型的,但据我所知,由于每个参数缺少显式类型表示法(或契约),当前语法不允许在编译时检查参数类型。如果我想执行编译时类型检查,我有哪些(实际成熟的)选项?更新我的意思是类型检查类似于典型的静态类型语言。比如C。例如,C函数表示每个参数的类型,编译器检查传入的参数是否正确。voidfunc1(structAAAaaa){structBBBbbb;func1(bbb);//Wrongtype.Compiletimeerror.}作为另一个例子,Objective-C通过放置显式类型信息来做到这一点。-(id)method1:(AAA*)aaa{BBB*bbb=[[A

随机推荐