• 【编译CEF3】编译Chromium(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 ..automateautomate-git.py --download-dir=c:codechromium_git3396 --depot-tools-dir=c:codedepot_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:codechromium_git3396srccef"路径下创建脚本文件"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
     
  • 相关阅读:
    Tinyhttpd 代码学习
    Windows noinstall zip 安装MySQL。
    Java 优先队列
    Java Comparable 和 Comparator
    Centos6.6下安装Python3.5
    对象的实现
    对象接口
    适配器模式
    java基础学习(一)
    【MongoDB】如何注册windows服务
  • 原文地址:https://www.cnblogs.com/heimao117/p/9064666.html
Copyright © 2020-2023  润新知