设为首页 收藏本站
查看: 846|回复: 0

[经验分享] 如何在windows上编译Chromium (CEF3) 并加入MP3支持(二)

[复制链接]

尚未签到

发表于 2017-6-29 16:39:14 | 显示全部楼层 |阅读模式
  时隔一年,再次编译cef3,独一无二的目的仍为加入mp3支持。新版本的编译环境和注意事项都已经发生了变化,于是再记录一下。
  一、编译版本
  cef版本号格式为X.YYYY.A.gHHHHHHH


  • X为主版本号,当前只有3
  • YYYY为chromium分支号
  • A为递增的svn提交版本号
  • HHHHHHH为7位git提交hash
  此次编译cef版本为3.2704.1434.gec3e9ed
  二、编译条件


  • 快速稳定的VPN,下载chromium源码必需,推荐nydus
  • 60G磁盘空间
  • 64位操作系统,Win 7+
  • vs2015 update2或update3
  • Windows 10.0.10586 SDK (已包含在vs2015中,安装注意选择)
  • MFC库(已包含在vs2015中,安装注意选择)
  其它各版本编译条件查看官方文档说明
  三、准备工作


  • 设置系统区域为英语(美国)。(控制面板-区域-管理-更改系统区域设置-英语(美国)
  • 创建工作目录,路径不能包含空格及特殊字符。例如h:\ws
  • 下载编译工具包,解压至工作目录。
  • 下载编译脚本至工作目录。
  • 在工作目录下创建源码目录。例如h:\ws\source
  • 添加系统环境变量

    • CEF_ARCHIVE_FORMAT=tar.bz2
    • DEPOT_TOOLS_WIN_TOOLCHAIN=0
    • GYP_DEFINES=buildtype=Official
    • GYP_MSVS_VERSION=2015
    • Path添加h:\ws\depot_tools,为避免与已安装的python或git冲突,建议写在path靠前位置





完整目录结构:
h:/
ws/
automate-git.py
depot_tools/
source/
  四、开始
  1. 以管理员身份运行cmd,安装python、git、svn



h:
cd h:\ws\depot_tools
update_depot_tools.bat
  2. 运行编译脚本。



cd h:\ws
#不传入参数会显示帮助
python automate-git.py --download-dir=h:\ws\source --depot-tools-dir=h:\ws\depot_tools --branch=2704 --checkout=ec3e9ed7fecc0d9f37a96951ba1bb26fd4f64dc7 --no-build --no-distrib
  由于下载完源码要先修改配置,所以设置为不编译。下载大概持续4-5个小时。如何获得checkout值请查看前一篇介绍。
  3. 修改配置
  修改h:\ws\source\chromium\src\cef\cef.gypi,variables节下添加如下即可支持mp3。



'proprietary_codecs': 1,
'ffmpeg_branding': 'Chrome',
  同时可参考http://blog.csdn.net/chromium_webkit/article/details/8575629加入更多格式支持

  从Chromium的源码third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h可以得知Chrome采用的FFmpeg的配置选项,在原有的配置选项后面添加如下选项:
  --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'

  4. 修改其它错误



#解决错误:无法识别的符号_ff_w64_guid_data
#修改chromium/third_party/ffmpeg / ffmpeg_generated.gypi
#在行'libavformat/vorbiscomment.c',后加入
'libavformat/w64.c',


#解决egl语法错误
#修改h:\ws\source\chromium\src\third_party\swiftshader\include\egl\eglext.h
#在62行后加入
typedef EGLAttribKHR EGLAttrib;
  5. 编译



python automate-git.py --download-dir=h:\ws\source --depot-tools-dir=h:\ws\depot_tools --branch=2704 --checkout=ec3e9ed7fecc0d9f37a96951ba1bb26fd4f64dc7 --no-debug-build --force-build --no-update
  可加入--build-log-file参数,将日志信息输出到文件,方便查看完整信息。
  但不能同时在cmd窗口观察进度,而且生成文件较大,注意取舍。



#最终生成输出路径
H:\ws\source\chromium\src\out\Release
H:\ws\source\chromium\src\cef\binary_distrib
  五、结果测试
  1. 版本号
DSC0000.png

  2. 与官方版本对比
DSC0001.png

  六、参考资料
  https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md
  https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md
  https://bitbucket.org/chromiumembedded/cef/wiki/AutomatedBuildSetup.md
  http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=14473
  https://chromium-review.googlesource.com/#/c/343398/4

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389383-1-1.html 上篇帖子: 关于Windows勒索病毒以及445端口防护 下篇帖子: windows 下的tcping 小插件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表