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.xdnf.cn/news/1487550.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE - Spring Boot 简介

1.Maven 1.1 什么是Maven 翻译过来就是: Maven是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通 过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件。 可以理解为:Maven是一个项目管理工具…

MFC与QT中禁用Esc、Alt+F4、关闭图标

在业务中,我们需要按指定的方式才能关闭当前对话框。如下图需输入密码点击确认后,界面才能关闭。 1.禁用关闭按钮 在对话框初始化部分添加将关闭按钮禁用 //MFC CMenu *pSysMenu GetSystemMenu(FALSE); ASSERT(pSysMenu ! NULL); pSysMenu->EnableM…

【BUG】已解决:NameError: name ‘python‘ is not defined

NameError: name ‘python‘ is not defined 目录 NameError: name ‘python‘ is not defined 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于…

学习记录——day18 数据结构 树

树的存储 1、顺序存储 对于普通的二叉树,不适合存储普通的二叉树顶序存储,一般用于存储完全二叉树而言,如果使用顺序存储,会浪费大量的存储空间,因为需要给没有节点的位置留出空间,以便于后期的插入。 所以…

图书管理系统设计

设计一个图书管理系统时,我们需要考虑系统的基本功能、用户需求、技术选型以及数据的安全性和完整性。下面是一个基本的图书管理系统的设计概览: 1. 系统目标 管理图书信息:添加、删除、修改图书信息。借阅管理:处理借书、还书流…

Leetcode—297. 二叉树的序列化与反序列化【困难】

2024每日刷题(148) Leetcode—297. 二叉树的序列化与反序列化 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(…

Oracle对比两表数据的不一致

MINUS 基本语法如下 [SQL 语句 1] MINUS [SQL 语句 2];举个例子: select 1 from dual minus select 2 from dual--运行结果 1-------------------------------- select 2 from dual minus select 1 from dual--运行结果 2所以,如果想找所有不一致的&a…

汽车免拆诊断案例 | 2018 款别克阅朗车蓄电池偶尔亏电

故障现象 一辆2018款别克阅朗车,搭载LI6发动机和GF6变速器,累计行驶里程约为9.6万km。车主反映,该车停放一晚后,蓄电池偶尔亏电。 故障诊断 接车后用虹科Pico汽车示波器和高精度电流钳(30 A)测量该车的寄…

4、Python+MySQL+Flask的文件管理系统【附源码,运行简单】

4、PythonMySQLFlask的文件管理系统【附源码,运行简单】 总览 1、《文件管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 注册2.3 个人中心界面2.4 文件上传界面2.5 其他功能贴图 3、下载 总览 自己做的项目,禁止转载&#xff0c…

C++【泛型编程】【string类常用接口】学习

目录 泛型编程 推演实例化 显示实例化 类模板 类模板的声明和定义分离 STL string string的构造和拷贝构造 选取特定字符串拷贝 解析: 关于npos的解析 验证 从一个字符串中拷贝前几个字符 解析: 注意: 验证: size…

第13周 简历职位功能开发与Zookeeper实战

第13周 简历职位功能开发与Zookeeper实战 本章概述1. Mysql8窗口函数over使用1.1 演示表结构与数据1.2 案例1:获取男女总分数1.3 案例2****************************************************************************************本章概述 1. Mysql8窗口函数over使用 参考案例…

C++客户端Qt开发——Qt窗口(菜单栏)

Qt窗口是通过QMainWindow类来实现的。 QMainWindow是一个为用户提供主窗口程序的类,继承自QWidget类,并且提供了一个预定义的布局。QMainWindow包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个浮动窗口(铆接部件)(dock widgets、一个…

算法从零到精通 (一) ~ 快慢双指针

1. 前言 快慢双指针是一种常用的算法技巧,通常用于解决涉及链表或数组的问题。它的基本思想是使用两个指针,一个移动速度快(快指针),一个移动速度慢(慢指针),来解决特定的问题。这两…

Vue中el的两种写法

大家好我是前端寄术区博主PleaSure乐事。今天了解到了Vue当中有关el的两种写法,记录下来与大家分享,希望对大家有所帮助。 方法一 解释 第一种方法我们直接用new创建并初始化一个新的 Vue 实例,并定义了 Vue 实例的数据对象,在给…

低代码如何加速数字化转型

数字化转型,正日益决定企业成功的关键。这里的一个关键因素是它可以以更快的速度和质量来实施技术计划。在当今瞬息万变的商业环境中,战略性地采用低代码平台对于旨在加快上市时间、增强业务敏捷性和促进跨团队无缝协作的首席技术官来说至关重要。日益增…

动手学深度学习——6.循环神经网络

1.序列模型 处理序列数据需要统计工具和新的深度神经网络架构。 为了简单起见,我们以 图8.1.1所示的股票价格(富时100指数)为例。 图8.1.1 近30年的富时100指数 其中,用𝑥𝑡表示价格,即在时间…

江科大/江协科技 STM32学习笔记P6

文章目录 LED闪烁&LE流水&蜂鸣器一、操作STM32的GPIO步骤二、RCC库函数什么是AHB与APB? 三、GPIO库函数GPIO初始化选择IO接口工作方式 四、四种方法实现LED闪灯 LED闪烁&LE流水&蜂鸣器 一、操作STM32的GPIO步骤 1、使用RCC开启GPIO的时钟 2、使用…

UE/Unity加载倾斜摄影太卡问题-使用局部网格简化重构导出为FBX/OBJ

工具 OSGB源数据灵易智模倾斜摄影编辑平台(下称OPEditor) 与另一篇文章里描述的导出时指定LOD层级的网格简化效果的区别 本功能属于导出时指定LOD层级的网格简化方法的升级版,可以基于某一LOD层级的局部数据进行进一步拓扑重构与纹理重烘焙自定义程度较高&#xff…

西蒙学习法

西蒙学习法 《世界十大学习方法》之西蒙学习法

Python 基于 Django 的内容管理系统库之feincms使用详解

概要 在现代 Web 开发中,内容管理系统(CMS)已经成为管理和发布内容的重要工具。FeinCMS 是一个基于 Django 的简单且灵活的内容管理系统,它专注于提供一种轻量级但功能强大的 CMS 解决方案。对于开发者来说,FeinCMS 提供了一种易于扩展和定制的方式,可以满足不同项目的需…