CefSharp音视频编译与免费下载

注:Cefharp 音频和视频播放编译,生成相应的dll文件,从而支持项目开发。 建议编译至少 16G 的 RAM和至少 250G 的 SSD。该脚本以 E 盘为例,您需要在 E 盘上手动创建 cef 文件夹禁止在转载后通过发布其他平台向用户收取下载费用

GitHub原文:https://github.com/KamenLiefu/CefSharp/?tab=readme-ov-file

Github编译版本免费下载:https://github.com/KamenLiefu/CefSharp/releases

md E:\cef\chromium\src

目录

  • 1.版本选择
  • 2.网络选择
  • 3.环境初始化
  • 4.CEF下载
  • 5.Chromium下载
  • 6.depot_tools下载
  • 7.同步
  • 8.构建项目
  • 9.CEF编译
  • 10.打包生成
  • 11.结果展示
  • 12.致谢


1.版本选择

配置 Web 地址:
https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md

日期发布分支Chromium 版本CEF 版本Windows 内部版本要求
2024年6月6533127127Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.9.2,Win 10.0.22621 SDK,Ninja
2024 年 5 月6478126126Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.9.2,Win 10.0.22621 SDK,Ninja
2024年4月6422125125Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja
2024年3月6367124124Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja
2024年2月6312123123Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja
2024年1月6261122122Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja
2023年12月6167121121Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja
2023年11月6099120120Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja
2023年10月6045119119Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja
2023年9月5993118118Win 10+ 部署, Win 10+ 构建系统,带 VS2022 17.5+, Win 10.0.22621 SDK, Ninja
2023年8月5938117117Win 10+ 部署, Win 10+ 构建系统,带 VS2022 17.5+, Win 10.0.22621 SDK, Ninja
2023年6月5845116116Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja
2023 年 5 月5790115115Win 10+ 部署, Win 10+ 构建系统,带 VS2022 17.5+, Win 10.0.22621 SDK, Ninja
2023年4月5735114114Win 10+ 部署、Win 10+ 构建系统,带 VS2022 17.5+、Win 10.0.22621 SDK、Ninja
2023年3月5672113113Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja
2023年2月5615112112Win 10+ 部署,Win 10+ 构建系统,带 VS2022 17.5+,Win 10.0.22621 SDK,Ninja
2023年1月5563111111Win 10+ 部署, Win 10+ 构建系统,带 VS2019 16.11.13+, Win 10.0.20348 SDK, Ninja
2022年12月5481110110Win 10+ 部署,Win 10+ 构建系统,带 VS2019 16.11.13+,Win 10.0.20348 SDK,Ninja
2022年11月5414109109Win 7+ 部署, Win 10+ 构建系统,带 VS2019 16.11.13+, Win 10.0.20348 SDK, Ninja

选择所需的版本并配置环境。

例如:install vs2022,选择相应的sdk,10.0.22621.2428。
VS2022 requires the selection of C++.

在这里插入图片描述

2.网络选择

选择适当的网络来访问 Internet,然后根据网络工具,可以设置代理。 例如,建议每次打开cmd时手动执行它,以实际端口号为准。

set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890

3.环境初始化

以管理员身份运行 cmd 并进入批处理脚本所在的目录,在cmd窗口执行批处理脚本。

:: Disable automatic update of depot_tools
setx DEPOT_TOOLS_UPDATE "0":: Using a locally installed version of Visual Studio
setx DEPOT_TOOLS_WIN_TOOLCHAIN "0":: GN Build Tool
set CEF_USE_GN=1
:: Creating a Project with VS2022
set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
:: Use the official build and add ffmpeg audio/video decoding
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0
set GYP_DEFINES=buildtype=Officialset GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2022
set CEF_ARCHIVE_FORMAT=tar.bz2
set VS_CRT_ROOT=D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.40.33807\crt
set WIN_CUSTOM_TOOLCHAIN=1set CEF_VCVARS=none
set GYP_MSVS_OVERRIDE_PATH=D:\Program Files\Microsoft Visual Studio\2022\Professional
set MSVC_VERSION=14.40.33807
set SDK_ROOT=D:\Program Files (x86)\Windows Kits\10
set WINDOWSSDKDIR=D:\Program Files (x86)\Windows Kits\10
set SDK_VERSION=10.0.22621.0for /f "tokens=3,*" %i in ('reg query HKCU\Environment /v Path') do setx Path "E:\cef\depot_tools\;%i%j"

命令行执行 0.environment_init.bat

4.CEF下载

根据选择的分支执行,这里以 6422 分支为例

cd E:\cef
::Clone the source code and switch to the 6422 branch
git clone https://bitbucket.org/chromiumembedded/cef.git -b 6422

命令行执行 1.downing_cef.bat

5.Chromium下载

根据所选分支的CHROMIUM_BUILD_COMPATIBILITY.txt检查版本。

# The Chromium Embedded Framework (CEF) project is built on top of the Chromium
# project source tree. Chromium should be updated to the URL and revision listed
# below before building CEF. Chromium compatibility information for older CEF
# revisions is available by viewing this file's change history.
#
# Instructions for building CEF are available at:
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding{'chromium_checkout': 'refs/tags/125.0.6422.142','depot_tools_checkout': '3e4ab13934'
}
cd E:\cef\chromium
::  (cef 6422 branch corresponds to chromiun tag: 125.0.6422.142)
git clone https://chromium.googlesource.com/chromium/src.git -b 125.0.6422.142 --depth 1

命令行执行2.downing_chromium.bat

6.depot_tools下载

cd E:\cef
:: Download depot_tools tool
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd E:\cef\depot_tools
:: Temporary permission to update
set DEPOT_TOOLS_UPDATE=1
:: depot_tools batch script Update_Depot_tools.bat
update_depot_tools.bat
:: prohibit updating
set DEPOT_TOOLS_UPDATE=0
:: checkout,(CEF 6422 branch corresponds to depot_tools commit ID: 3e4ab13934)
checkout 3e4ab13934

命令行执行 3.downing_depot_tools

7.同步

cd E:\cef\chromium:: Create the .gclient file with the command
gclient config  https://chromium.googlesource.com/chromium/src.git --unmanagedgclient sync --nohooks --no-historyset DEPOT_TOOLS_WIN_TOOLCHAIN=0@echo "gclient runhooks"
gclient runhooks

建议手动执行4.chromium_client剩下的命令

8.构建项目

cd E:\cef\chromium\src\cef
set CEF_USE_GN=1
set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0
set GYP_DEFINES=buildtype=Official
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2022
set CEF_ARCHIVE_FORMAT=tar.bz2
set VS_CRT_ROOT=D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.40.33807\crt
set WIN_CUSTOM_TOOLCHAIN=1
::set CEF_VCVARS=none
set GYP_MSVS_OVERRIDE_PATH=D:\Program Files\Microsoft Visual Studio\2022\Professional
set MSVC_VERSION=14.40.33807
set SDK_ROOT=D:\Program Files (x86)\Windows Kits\10
set WINDOWSSDKDIR=D:\Program Files (x86)\Windows Kits\10
set SDK_VERSION=10.0.22621.0
@REM compiling 64-bit call VS script has problems, the following change to set the path manually
@REM call "D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64
set INCLUDE=%SDK_ROOT%\Include\%SDK_VERSION%\um;%SDK_ROOT%\Include\%SDK_VERSION%\ucrt;%SDK_ROOT%\Include\%SDK_VERSION%\shared;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\include;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\atlmfc\include;%INCLUDE%
set LIB=%SDK_ROOT%\Lib\%SDK_VERSION%\um\x64;%SDK_ROOT%\10\Lib\%SDK_VERSION%\ucrt\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\lib\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\atlmfc\lib\x64;%LIB%
set PATH=%SDK_ROOT%\bin\%SDK_VERSION%\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\bin\HostX64\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\bin\HostX64\x64;%GYP_MSVS_OVERRIDE_PATH%\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT;%PATH%
:: create project
call cef_create_projects.bat

cef需要移动到chromium/src目录下,手动执行5.build_project

9.CEF编译

根据计算机配置,相对编译时间更长,8~10小时,甚至更长。

cd E:\cef\chromium\src
ninja -C out\Release_GN_x64_sandbox cef_sandbox
ninja -C out/Release_GN_x64 cef

命令行手动执行6.cef_compile

10.打包生成

cd E:\cef\chromium\src\cef\tools
set CEF_VCVARS=none
set CEF_ARCHIVE_FORMAT=tar.bz2
::  --minimal(可选择stable版本等等)
make_distrib.bat --ninja-build --no-docs --x64-build --no-symbols --minimal

11.结果展示

使用生成的 dll 测试站点
在这里插入图片描述
测试 h264 是否打开,即音频/视频播放。
在这里插入图片描述

12.致谢

1.非常感谢博客园zgliubo博主提供的解决方案,致以诚挚的感谢。博主博客原文链接如下:博客原文
2.非常感谢博客园rmb_999博主chromium浏览器定制的解决方案,为编译过程中出现的问题提供了解决思路和方案。博主博客原文链接如下:博客原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/49846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++笔记5

目录 图的基础问题 图上的环 无向图的环 DAG图与拓扑排序 拓扑排序 卡恩算法(BFS) 算法描述 统计图中每个点的入度(即连向该点的边数) 拓扑排序的DFS算法 算法描述 拓扑排序的DFS的实现简单,从一个入度为0的…

新形势下职业教育大数据人才培养策略

一、引言 随着信息技术的飞速发展,大数据已成为驱动经济社会变革的关键力量。在新形势下,职业教育作为技术技能人才培养的重要阵地,面临着如何适应大数据时代要求、提升人才培养质量的紧迫任务。当前,职业教育在大数据人才培养方…

云HIS系统源码,业务云协同和数据云协同的数字化医院信息系统

云HIS是利用云计算、大数据、物联网、移动互联网等技术,打造的一个安全、便捷、共享、协同的医疗互联网云生态平台。核心功能是业务云协同和数据云协同。云HIS具有可扩展、易共享、易协同、低成本、体验号、更便捷、易维护的优势,重新定义了数字化医院信…

leetcode日记(49)旋转链表

其实不难,就是根据kk%len判断需要旋转的位置,再将后半段接在前半段前面就行。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : …

uniapp的h5,读取本地txt带标签的文件

效果图 使用的回显的标签是u-parse,下面的网址讲了这个标签的相关 https://www.cnblogs.com/huihuihero/p/12978903.html 导入此插件 https://ext.dcloud.net.cn/plugin?id364 使用 uni.request({// 本地文件url: "/static/互联网医院医师端用户协议.txt…

C# datetimePicker

1. 直接把控件拉到设计器中,此时不要调整控件的values属性,这样就可以 打开后每次默认显示当天日期。 2. 属性Format long长日期格式默认值short短日期格式Time时间格式custom自定义时间格式在customFormat这个属性设置,比如yyyy-MM-dd HH…

Stage模型应用程序包结构

目录 官网地址 官网结构图 开发态包结构 工程目录结构 配置文件 module.json5配置文件 app.json5配置文件 官网地址 官网地址 包结构 官网结构图 开发态包结构 在DevEco Studio上创建一个项目工程,并尝试创建多个不同类型的Module(类似一个一个的页…

C 语言基础概念总结

C 语言基础概念总结 一、数据类型 目录 C 语言基础概念总结 一、数据类型 基本数据类型 构造数据类型 二、变量与常量 三、运算符与表达式 算术运算符 关系运算符 逻辑运算符 赋值运算符 自增自减运算符 四、控制流语句 顺序结构 选择结构 循环结构 五、函数 …

c++笔记1

目录 结构体 关于结构体 结构体变量 成员的获取和赋值 结构体排序 结构体与模板 结构体嵌套 结构体与函数 模板与pair 模板 pair 多重循环 多重循环结构 嵌套注意事项 多重循环实例 再谈变量的作用域 多重循环的控制 嵌套中的break和continue 多重循环中的控…

PCDN技术如何降低运营成本?

PCDN技术通过以下几种方式降低运营商的运营成本: 1.利用用户设备作为缓存节点: PCDN技术将用户设备纳入内容分发网络,利用这些设备的闲置带宽和存储资源来缓存和分发内容。这种方式不需要运营商投入大量的高成本服务器和带宽资源,从而降低了硬件和带宽…

jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音

本心、输入输出、结果 文章目录 jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音前言jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csdn.net/qq_…

go-kratos 学习笔记(6) 数据库gorm使用

数据库是项目的核心,数据库的链接数据是data层的操作,选择了比较简单好用的gorm作为数据库的工具;之前是PHP开发,各种框架都是orm的操作;gorm还是很相似的,使用起来比较顺手 go-kratos官网的实例是ent&…

逆向案例二十九——某品威客登录,请求头参数加密,简单webpack

网址:登录- 一品威客网,创新型知识技能共享服务平台 抓到登陆包分析,发现请求头有参数加密,直接搜索 定位到加密位置,打上断点,很明显是对象f的a方法进行了加密。 往上找f,可以发现f被定义了,是…

pc端vue2实现截图功能

npm install js-web-screen-shot --save import ScreenShort from "js-web-screen-shot"; <button @click="screenhotFnc">点我截图</button> //最后生成一个数组,base格式,可循环渲染到页面上面 screenhotFnc() {new ScreenShort({//ap…

Android中Service学习记录

目录 一 概述二 生命周期2.1 启动服务startService()2.2 绑定服务bindService()2.3 先启动后绑定2.4 先绑定后启动 三 使用3.1 本地服务&#xff08;启动式&#xff09;3.2 可通信的服务&#xff08;绑定式&#xff09;3.3 前台服务3.4 IntentService 总结参考 一 概述 Servic…

【Android】广播机制

【Android】广播机制 前言 广播机制是Android中一种非常重要的通信机制&#xff0c;用于在应用程序之间或应用程序的不同组件之间传递信息。广播可以是系统广播&#xff0c;也可以是自定义广播。广播机制主要包括标准广播和有序广播两种类型。 简介 在Android中&#xff0c…

mybatise全接触-面试宝典-知识大全

1 . 简述什么是Mybatis和原理 &#xff1f; Mybatis工作原理&#xff1a; &#xff08;1&#xff09;Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;加载驱动、创建连接、创建statement等繁杂的过程&#xff0c;开发者…

Istio_01_Istio初识

文章目录 IstioService Mesh Istio Istio: 以服务网格形态用于服务治理的开放平台和基础设施 本质: 以非侵入式治理服务之间的访问和调用服务治理: 流量管理、可观测性、安全性可同时管理多类基础设施(多种网络方案) 如: Istio和Kubernetes架构的结合 Istio通过Kubernetes的域…

mysql各种锁总结

mysql全局锁 读锁&#xff08;共享锁&#xff09; 阻止其他用户更新&#xff0c;但允许他们读取数据。 写锁&#xff08;排他锁&#xff09; 阻止其他用户读取和更新数据。 全局锁场景&#xff1a;进行数据库备份 数据库备份 背景&#xff1a;备份数据肯定要保证数据一致…

Ubuntu 重置root密码

Ubuntu 重置root密码 当系统管理员或者授权用户忘记了root密码时&#xff0c;重置密码能够提供紧急访问系统的方法。这种情况下&#xff0c;重置密码可以避免因为密码丢失而导致的系统无法访问的问题&#xff0c;确保及时的操作和维护。在进行系统安全审计或者需要紧急恢复访问…