【CEF3编译】增加对mp3/mp4等格式支持的编译手记 完成编译,增加mp3/mp4等格式支持(3) 2018-5-21

经过前两天的准备工作,好在有几位前辈们留下的"血泪史" ~( ̄▽ ̄~) 实际操刀的过程中并没有遇到太大的困难,今天终于可以开始尝试编译cef.master分支了。

PS: 以下摘自官方:

Create a Debug build of CEF/Chromium using Ninja. Edit the CEF source code at "~/code/chromium_git/chromium/src/cef" and repeat this step multiple times to perform incremental builds while developing.

使用Ninja创建CEF/Chromium的Debug版本。在"c:/code/chromium_git/chromium/src/cef"处编辑CEF源代码并多次重复此步骤以在开发过程中执行增量构建。

打开"cmd.exe"执行代码:

cd c:/code/chromium_git/chromium/src
ninja -C out/Debug_GN_x86 cef

( ̄3 ̄),开始漫长的等待编译中..........

PS: 如果你的内存比较紧张(8G以下),需要增加一下系统的虚拟内存大小(至少增加20GB以上)。



早上起来连到服务器看到,编译成功拉! ε=ε=(ノ≧?≦)ノ,

尝试加入对MP3/MP4等格式的支持,并编译cef.branche 3396分支



在"c:\code"下创建一个新的文件夹"chromium_git3396"

cd c:/code
mkdir chromium_git3396

进入"chromium_git3396"文件夹创建脚本文件"update.bat"并添加以下代码:

set CEF_USE_GN=1
set GN_DEFINES=use_jumbo_build=true
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*
python ..\automate\automate-git.py --download-dir=c:\code\chromium_git3396 --depot-tools-dir=c:\code\depot_tools --no-distrib --no-build --no-depot-tools-update --force-clean --force-update --branch=3396

打开"cmd.exe"并运行"update.bat"脚本

cd c:/code/chromium_git3396
update.bat

( ̄▽ ̄) ,download ....,等待更新完成,继续编译,参照编译cef.master分支的方法:

在"c:\code\chromium_git3396\src\cef"路径下创建脚本文件"create.bat"并添加以下代码:

set CEF_USE_GN=1
set GN_DEFINES=use_jumbo_build=true is_official_build=true ffmpeg_branding=Chrome proprietary_codecs=true
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/* --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‘
call cef_create_projects.bat

其中:"ffmpeg_branding=Chrome proprietary_codecs=true"即为开启对MP3/MP4等格式的支持。 "--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‘" 为增加对于其它多媒体格式的支持。

打开"cmd.exe"并执行脚本:

cd c:/code/chromium_git3396/src/cef
create.bat

待其执行完成后,检查一下"c:/code/chromium_git3396/src/out"下是否拥有以下几个目录:

  1. "Debug_GN_x64"
  2. "Debug_GN_x86"
  3. "Release_GN_x64"
  4. "Release_GN_x86"

如果没有则说明产生了错误,可以检查一下配置是否存在错误,或者尝试再次执行update.bat脚本。

打开"cmd.exe"执行编译代码:

cd c:/code/chromium_git/chromium/src
ninja -C out/Debug_GN_x86 cef

编译完成即可以获得能够支持MP3/MP4播放的CEF发行版啦!

--- 完 ---

以上即为,我的CEF编译全部过程, 按我的服务器配置编译一次也需要五六个小时左右,内存,硬盘空间以及良好的网络环境是关键,这几个部分准备充足,就不会遇到太多的问题了。如果遇到本文没有出现的错误,不要气馁, 耐住性子,多尝试下在google下搜索关键字或者可以去CEF论坛(http://magpcss.org/ceforum/)上寻求帮助,也许答案就在其中。

参考资料:

https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart

https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding

https://blog.csdn.net/qpshen/article/details/78559710

https://www.cnblogs.com/caibirdy1985/p/7244961.html

原文地址:https://www.cnblogs.com/heimao117/p/9064666.html

时间: 2024-08-09 11:42:13

【CEF3编译】增加对mp3/mp4等格式支持的编译手记 完成编译,增加mp3/mp4等格式支持(3) 2018-5-21的相关文章

工业串口触摸屏开发制作mp3播放器,单片机或PLC通过串口控制播放MP3音频方法

在工业控制系统中将音乐或语音MP3的美和工控结合在一起,给人以赏心悦目的感受.随着工业控制的发展,对工业控制的控制要求也越来越高,使得越来越多的控制部分不是指简单的现场控制,还需要增加音乐播放或语音提示,使得控制系统更加人性化. 这里介绍广州易显的工业串口触摸屏或者ARM工控机连接单片机或者PLC,使用工业串口触摸屏开发制作mp3的方法.跟电脑的播放器一样,具有播放,暂停,停止,控制播放进度,上一首,下一首等功能.可以在人机界面上控制播放MP3音乐或者语音提示.也可以使用单片机或PLC控制播放的

开源项目OkHttpPlus——支持GET、POST、UI线程回调、JSON格式解析、链式调用、文件上传下载

OkHttpPlus介绍 项目地址:https://github.com/ZhaoKaiQiang/OkHttpPlus 主要功能:OkHttp封装,支持GET.POST.UI线程回调.JSON格式解析.链式调用.小文件上传下载及进度监听等功能 为什么要写这么一个库呢? 首先,是因为OkHttp在4.4之后已经作为底层的Http实现了,所以OkHttp这个库很强大,值得我们学习. 其次,在我看来,OkHttp使用起来不如Volley方便,OkHttp的回调都是在工作线程,所以如果在回调里面操作V

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换

t使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类用于不同编码格式之间的转换.关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料.其中大多数看起来很复杂,甚至根本无法完成转换工作,或者是基于较低的Qt版本编写.因此,有必要对使用QTextCodec完成字符串格式转换进行简要说明,本文中代码基于Qt5.1编写. 其实,在Qt帮助

【转】gcc/g++ 如何支持c11 / c++11标准编译

如果用命令 g++ -g -Wall main.cpp  编译以下代码 : 1 2 3 4 5 6 7 8 9 10 11 12 /*     file : main.cpp */ #include <stdio.h> int main() {     int a[5] = { 1, 2, 2, 5, 1 };     for( int i:a ) {         printf( "%d\n", a[i] );     }     return 0; } 那么g++ 就

编译速度过慢问题 图片资源过多 视频资源过多导致的编译过慢问题

我的博客地址欢迎阅读和指正: http://www.cnblogs.com/yyxios/ https://github.com/iOSSinger 公司项目其实也不大,几千行代码,但是每次做个小小的改动,都要重新编译,轻则5,6分钟重则十几分钟,原因是里面需要显示3D效果,因此项目里面放了许多图片资源和视频资源,导致每次编译速度都很慢; 解决办法: 在调试阶段下链接电脑本地资源,比如放到桌面某个文件夹里,从而不需要编译,也能看到效果,只是用到的时候才会从本地加载,缺点就是3D效果略有卡顿;然而

gcc/g++ 如何支持c11 / c++11标准编译

如果用命令 g++ -g -Wall main.cpp  编译以下代码 : /* file : main.cpp */ #include <stdio.h> int main() { int a[5] = { 1, 2, 2, 5, 1 }; for( int i:a ) { printf( "%d\n", a[i] ); } return 0; } 那么g++ 就会提示以下错误: main.cpp: In function ‘int main()’: main.cpp:5

Qt5.2.0 MinGW480 release静态版编译结果、过程及QtCreator配置分享(realfan的编译方法)(configure -h可以显示帮助)(静态编译mysql插件,需要做一些其它工作,机器上要有mysql)(不编译qtwebkit,就不用安装ActivePerl了)(用到 QMediaPlayer的编译办法)

这是我编译好的静态release版,可以直接取用,7z压缩包,解压即用(感谢zzhouqianq提醒)http://yunpan.cn/QDvxdTL9LFLJP (提取码:871c)包含odbc,sqlite,没有webkit如果要自己编译,可以参考下面的过程及需要的文件一.文件准备,下面用到的文件,可以自行到相应官网下载.我在网盘上也共享了:① qt-opensource-windows-x86-mingw48_opengl-5.2.1.exehttp://yunpan.cn/QpMMWfE

【日期格式校验】java判断字符串是否为有效的日期格式

public static boolean isValidDate(String str) { boolean convertSuccess=true; // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写: SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm"); try { // 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如

shell的date日期循环方法:日期格式转时间戳计算,再将时间戳转回日期格式

1,日期对象转时间戳current_day 2,计算增量的时间戳,即循环每步的增量one_day 3,循环体计算,日期变量加增量后重新赋值自己 4,时间戳转回日期格式后输出 current_day=2015-07-17 end_day=2014-01-01 #步骤1 timestamp_current=`date -d "$current_day" +%s` timestamp_end=`date -d "$end_day" +%s` #步骤2 one_day=$(