CefSharp音视频编译与免费下载

news2024/12/28 8:18:11

注: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=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

for /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 --unmanaged

gclient sync --nohooks --no-history

set 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.coloradmin.cn/o/1939684.html

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

相关文章

全国区块链职业技能大赛第八套区块链产品需求分析与方案设计

任务1-1:区块链产品需求分析与方案设计 医疗健康平台中涉及到医院、医生、患者等参与方,他们需要在区块链医疗健康平台中完成账户注册、身份上链、挂号就诊、查询病例等多种业务活动。通过对业务活动的功能分析,可以更好的服务系统的开发流程。基于医疗健康平台系统架构,以…

【数据结构进阶】二叉搜索树

🔥个人主页: Forcible Bug Maker 🔥专栏: C || 数据结构 目录 🌈前言🔥二叉搜索树🔥 二叉搜索树的实现Insert(插入)find(查找)erase(删除)destro…

毕业/期刊论文发表必备:YOLOv5 / v7 / v8 /v10算法网络结构图【文末提供原型文件下载地址】

前言:Hello大家好,我是小哥谈。同学们在写YOLO算法相关毕业论文/期刊论文的时候,不可避免的会用到相关版本的网络结构图,曾有很多小伙伴私信我索要原型文件,本文就给大家提供YOLOv5/v7/v8/v10版本算法网络结构图及原型文件下载地址。🌈 目录 🚀1.网络结构图 �…

Fiddler 导出请求为curl格式

来自:https://www.cnblogs.com/yudongdong/p/15418181.html Fiddler 下载地址: https://downloads.getfiddler.com/fiddler-classic/FiddlerSetup.5.0.20243.10853-latest.exe 这段代码加到类中 public static RulesOption("关闭请求体转代码", "生成代码&qu…

简单页表和多级页表

地址转换(Address Translation) 内存需要被分成固定大小的页(Page)然后再通过虚拟内存地址(Virtual Address) 到物理内存地址(Physical Address) 的地址转换(Address Translation)才能到达实际存放数据的物理内存位置 简单页表 页表的概念 想要把虚拟内存地址,映…

ip地址是电脑还是网线决定的

在数字化时代的浪潮中,网络已经成为了我们日常生活和工作不可或缺的一部分。当我们谈论网络时,IP地址无疑是一个核心的概念。然而,关于IP地址的分配和决定因素,很多人可能存在误解。有些人认为IP地址是由电脑决定的,而…

pytorch 46 将ASpanFormer模型导出onnx运行

ASpanFormer是一个2022年8月份发布的算法,其主要步骤与LoFTR模型类似,因此无法导出为onnx模型。根据ASpanFormer论文中的数据与效果图,可以确定AsPanFormer是可以作为一个比SP+SG更为有效的方案,其在标准数据集上的效果优于SP+SG,在速度上远超SP+SG,与LoFTR接近;在预测点…

C语言:静态库和动态(共享)库

相关阅读 C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm1001.2014.3001.5482 在软件开发中,库(Library)是一个至关重要的概念。它们是由函数和数据的集合构成,用于实现特定的功能,供其他程…

测试——性能测试

内容大纲: 常见的性能问题 性能测试是什么 性能测试和功能测试之间的区别 为什么要进行性能测试 常见的性能指标及性能测试专业术语 性能测试分类 1. 常见的性能问题 系统内部以及软件的代码实现: 资源泄漏,包括内存泄漏。CPU使用率达到100%,系统被锁定…

Vue3组件通信

1、props 1.1 父传子 父组件:通过属性在子组件标签传递 子组件:通过defineProps接收 1.2 子传父 1.父组件先给子组件传递一个函数 2.子组件接收此参数(函数),并在合适的时机调用此函数,通过函数的参数&…

SEO之网站结构优化(四)

初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 4、清晰导航 清晰的导航系统是网站设计的重要目标,对网站信息架构、用户体验影响重大。SEO也越来…

Hadoop高可用集群搭建及API调用

NameNode HA 背景 在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNode,但是它并不是NameNode的备份,它只是NameNode的一个助理,协助NameNode工作,SecorndaryNameNode会对fsimage和edits文…

【BUG】已解决:OSError: [Errno 22] Invalid argument

已解决:OSError: [Errno 22] Invalid argument 目录 已解决:OSError: [Errno 22] Invalid argument 【常见模块错误】 错误原因: 解决方法如下: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&…

基于luckysheet实现在线电子表格和Excel在线预览

概述 本文基于luckysheet实现在线的电子表格,并基于luckyexcel实现excel文件的导入和在线预览。 效果 实现 1. luckysheet介绍 Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 官方文档在线Demo 2. 实现 …

配置单区域OSPF

目录 引言 一、搭建基础网络 1.1 配置网络拓扑图如下 1.2 IP地址表 二、测试每个网段都能单独连通 2.1 PC0 ping通Router1所有接口 2.2 PC1 ping通Router1所有接口 2.3 PC2 ping通Router2所有接口 2.4 PC3 ping通Router2所有接口 2.5 PC4 ping通Router3所有接口 2.…

力扣 28找到字符串中第一个匹配项的下标 KMP算法

思路: 朴素匹配有很多步骤是多余的 KMP算法能够避免重复匹配 KMP算法主要是根据子串生成的next数组作为回退的依据,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。 这里讲一下为什么用模式串的最大公共前后缀…

基于python的当当二手书数据分析与可视化系统设计与实现

1.1 研究背景及现状 1.1.1 研究背景 生态文明建设是我国的基本国情之一,资源利用作为应该重要的环节[1]。然而随着大学校园内掀起倡导的低碳环保热潮,高校学生教材及其他书籍的目前的处理方式已被大多人所关注[2]。从循环利用资源的角度出发[3]&…

封装MAVSDK为JAR包并导出给其它Android工程用完整示例

效果: 未解锁状态 已执行解锁指令 已执行起飞指令 飞行中 已执行降落指令 已执行返航指令 实现步骤: 1.准备PX4容器并启动:

Java项目中整合多个pdf合并为一个pdf

一、Java项目中整合多个pdf合并为一个pdf gitee笔记路径&#xff1a;https://gitee.com/happy_sad/drools一、依赖导入 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.6</version> …

AtCoder Beginner Contest 362

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;彩笔ACMer一枚。 &#x1f3c0;所属专栏&#xff1a;Codeforces 本文用于记录回顾总结本彩笔的解题思路便于加深理解。 比赛题目地址&#xff1a;AtCoder Beginner Contest 362 …