Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
目前使用Cef框架的软件很多,除了我们的程序,还有网易云音乐,StartUML,通信达等都基于Cef框架。阅读Cef/Chrome底层代码有助于了解他的设计架构和细节,可以帮助我们解决一些Cef框架层面的故障,同时可以学习他的编程思想和框架结构提高编程能力。本文主要介绍Cef3和Chromium,涉及Cef3/Chromium编译,代码目录结构和具体功能实现细节,会根据需要不断完善。需要指出的是Cef3/Chrome版本之间代码框架,文件位置变动很多,如无特殊说明,本文以2623分支为基准。.

一 Cef3/Chromium的编译和音视频支持的修改
先说一点,国内从官网下载源码网络很不稳定,这里以别人下载好的cef2623版本来编译
网盘地址: https://pan.baidu.com/s/1jHY4hls
编译先决条件:win64系统,安装python2.7 Virtual Studio2013 硬盘空间大于54G以上

下载完成后解压 这里解压到D盘下的2623目录
打开CMD窗口 执行以下操作以设定环境变量

Set DEPOT_TOOLS_WIN_TOOLCHAIN=0
Set CEF_USE_GN=0
Set GYP_MSVS_VERSION=2013
Set GYP_GENERATORS=ninja,msvs-ninja

然后执行
python automate-git.py --download-dir=d:\cef3\source --branch=2623 --no-update --build-log-file --verbose-build --force-distrib --force-build
大致等待5个小时即可编译完成
注意,指定—no-update 不更新代码;如果不需要编译debug版本,则需要指定
—no-debug-build

输出目录在src\cef\binary_distrib下
Cefclient.exe为demo程序,输入www.html5test.com可查看支持音视频的情况
当前编译好的2623对音视频的支持如下:
 
音视频的支持有2处需要修改分别是
1是在source/chromium/src/cef/cef.gypi文件 在variables节点下增加
'proprietary_codecs': 1,
'ffmpeg_branding': 'Chrome',
2是修改二者
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
可以根据需要修改要支持的音视频情况
posted on 2017-09-29 13:42 ccsdu2009 阅读(347) 评论(0)  编辑 收藏 引用 所属分类: Cef

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理