zoukankan      html  css  js  c++  java
  • VS2019编译 当前最新版chromium

    之前编译过webrtc和chromium, 由于长时间没用,被我删除了,

    最近在最新版本的google浏览器上遇到了播放器兼容性问题,老版本的google浏览器是没问题,IE, 火狐浏览器也没问题,

    通过看google浏览器的打印日志和chromium媒体层的代码,排查下来,是ffmpeg调用解码器解码AAC失败了,有个别数据解码失败,我们是使用的libfdk,

    怀疑是AAC数据打包进MP4的时候某些AAC数据被脏掉了,基本上就定位到这里,这两天看了下chromium的代码,又有点想搞下这个东西,

    感觉新版的浏览器兼容性不太好,对数据正确的敏感性比较强了,于是又编译下chromium,也是为了断点调试进去,准确定位下,分析具体原因,这次用VS2019编译最新版本的浏览器,

    后面再编译个带有调试符号的ffmpeg库。

    1、工具

    下载depot_tools,并配置环境变量,PATH下添加depot_tools的解压路径E:srcdepot_tools

    2、设置代理

    控制台管理员权限执行

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

    netsh winhttp set proxy 127.0.0.1:1080

    set HTTP_PROXY=127.0.0.1:1080 
    set HTTPS_PROXY=127.0.0.1:1080

    3、cmd运行gclient

    4、配置VS的版本,环境变量设置

    DEPOT_TOOLS_WIN_TOOLCHAIN = 0

    GYP_MSVS_VERSION = 2019

    GYP_MSVS_OVERRIDE_PATH = D:Program Files (x86)Microsoft Visual Studio2019Enterprise

    5、 下载源码

    最新版本的比较大,15G,比两年前又多了很多。

    命令行执行fetch chromium

    中间断了的话,可以通过gclient sync来同步代码,我下载的时候没有断过。

    6、生成vs2019解决方案 cd chromium 源码目录下 gn gen --ide=vs outDefault

    7、编译生成可执行文件 执行 ninja -C out/Default chrome 编译,也可以在vs2019里面打开all.sln build编译, 时间比较久,10个小时才完成。

     

    8、单步调试,分析相关google浏览器行为,这里我是确认我mp4播放的兼容性问题

  • 相关阅读:
    15调度
    如何在idea中找到通过依赖添加的jar包位置
    验证码实现步骤
    重构:利用postman检测前后端互相传值
    反射机制
    Unexpected update count received. Changes will be rolled back. SQL: DELETE FROM `myproject`.`role_module` WHERE `role_id` = ? AND `module_id` = ?
    JavaSE基础之 IO_Buffer
    JavaSE基础之 IO流
    JavaSE基础之 XML(可扩展标记语言)
    JavaSE基础之继承
  • 原文地址:https://www.cnblogs.com/Forever-Kenlen-Ja/p/11824031.html
Copyright © 2011-2022 走看看