OBS二次开发 | 构建、编译

CMake3.29.0构建、VS2019编译

备注:基于OBS28.1.0源码
平台:Windows
Windows SDK:10.0.20348.0及以上

一、前期准备工作

在进行构建和编译之前,需要准备【环境】、【OBS源码】和【OBS依赖包】。
!!!注意:OBS源码版本越高,对构建和编译所需要的环境要求也越高。

1. 环境准备

  1. VS2019下载Visual Studio 2019 版本,我下载的是社区版,傻瓜式安装即可;在这里插入图片描述

  2. 直到这里,一定要勾选Windows SDK(10.0.20348.0及以上);
    在这里插入图片描述

  3. 如果没有满足条件的版本,就下载Windows SDK,往下滑,选择Windows 10 SDK version 2104 (10.0.20348.0),点击Install SDK在这里插入图片描述

  4. Qt 5.15.2(x64) :VS2019需安装Qt 5.15及以上版本,在Qt5.15以后Qt官网不提供离线安装包,需要在线安装,推荐清华大学开源软件镜像站
    ,比Qt官网下载更快。
    (1)选择qt-unified-windows-x64-online.exe
    在这里插入图片描述
    (2) 安装Qt5.15.2
    运行,傻瓜式安装一直“下一步”,直到下面这个界面(可能出现没有Qt5.15.2的情况)。那么,在选择版本导向页,勾选右侧Archive,再点击Filter,就会出现Qt5.15.2版本。继续“下一步”就安装OK啦。
    在这里插入图片描述

  5. CMake3.29.0-rc4 :目前最新版本,下载CMake,选择Windows平台X64的安装器。下载完成后,很简单傻瓜式安装;在这里插入图片描述

2.OBS源码

  1. 下载OBS28.1.0源码在这里插入图片描述
  2. 注意:plugins目录下有许多引用的库,所以需要到对应目录下进行下载。
    (1)下载enc-amf @ d5a136c
    (2)下载obs-browser @ d71cb04
    在这里插入图片描述
    (3) 下载obs-websocket @ 5716577
    在这里插入图片描述
    (4)下载libdshowcapture @ a93f1a3
    在这里插入图片描述
    (5)到external目录下,下载capture-device-support @ bedcf28
    在这里插入图片描述
    在这里插入图片描述
  3. 源码和依赖包解压完之后,按照OBS源码结构放在对应的目录下,准备构建。
    build 创建文件夹作为CMake构建VS项目的文件夹;obs-studio-28.1.0 为源码目录。
    在这里插入图片描述

3.OBS依赖包

  1. 下载OBS依赖包
  2. 往下滑,找到OBS Deps Build 2022-07-18,点击Assets,选择windows-deps-2022-07-18-x64.zip双击下载;在这里插入图片描述
  3. 解压后和OBS源码放在同级目录。
    在这里插入图片描述

二、使用CMake构建OBS

1.点击Add Entry,添加DepsPath

DepsPath = C:/Users/25838/Desktop/OBS/obs-studio-28.1.0/obs-studio-28.1.0/windows-deps-2022-07-18-x64;在这里插入图片描述

2.点击Configure,选择VS2019 x64;

在这里插入图片描述

3.配置完成后,点击Generate,即可生成VS2019解决方案。

!!!注意:构建过程中如果出现CMake Error,自己注意一下提示的错误信息是什么,简单的就自己一下解决。其次,复制问题到官网搜,上面有很多帖子,一般都可以解决问题。

冷静!沉下心来!一定可以成功!

三、使用VS2019编译OBS Debug/Release版本

1.打开VS2019,点击打开解决方案,寻找build目录下ALL_BUILD.vcxproj

在这里插入图片描述

2.编译Debug/Release两个版本的OBS库;

右键点击“解决方案”,选择“生产解决方案”,切换Debug/Release,即可编译两个版本的OBS库,在build/rundir目录下可以看到;

3.若出现VS2019编译报错;

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2220 以下警告被视为错误 obs-nvenc-test C:\Users\25838\Desktop\OBS\obs-studio-28.1.0\obs-studio-28.1.0\plugins\obs-ffmpeg\external\nvEncodeAPI.h 1371
解决方案:找到对应的工程,右键选择“属性”,将 “警告视为错误” 设为"否";在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.后续二次开发需要引用的头文件都在源码obs-studio-28.1.0/libobs目录下。

在这里插入图片描述

四、分享一下吧

//源码和编译好的库
链接:https://pan.baidu.com/s/1dAdra8HZVNvM6Zf0eqS-6g 
提取码:5g29
//编译好的库
链接:https://pan.baidu.com/s/1tpBTI14bJFXcfKliwch7Bg 
提取码:62dk
//源码(包含依赖包)
链接:https://pan.baidu.com/s/1Q3tXHwxVw_oUerE2IWNe_w 
提取码:nl6r
如有不足之处,还请各位大佬指正!
  • 43
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值