Hello,阳光柠檬! 养成记录笔记的好习惯

obs-studio的编译环境配置

2017-02-16
C++

我这里根据自己遇到的情况总结一下windows下OBS的开发环境配置。

全平台可以参考:https://github.com/jp9000/obs-studio/wiki/Install-Instructions

提前准备环境:

Git

VS 2015

Qt5 (我用的此版本:qt-opensource-windows-x86-msvc2015-5.7.1.exe)

CMake 3.6.2

以上几个最基本的,我就不提供下载地址了;

OBS在VS2015上开发所需要依赖的:https://obsproject.com/downloads/dependencies2015.zip

首先从github上clone源代码:

git clone --recursive https://github.com/jp9000/obs-studio.git 

或者

git clone https://github.com/jp9000/obs-studio.git 
git submodule update --init --recursive

因为obs-studio的源代码中包含其它一些开源库的git地址。所以需要–recursive

一并将submodule中的Git源码全下到本地。

其中就包含libdshowcapture(视频捕获设备)、obs-browser(cef内核浏览器插件)等。


(我这里编译windows 32bit的obs-studio)

将这些源代码下载成功后,接下来就是cmake了。我提供两种方法:

一、使用CMake 3.6.2 gui##

注意在CMAKE中修改以下几项:

DepsPath = D:/Workspace/Coding/dependencies2015/win32
QTDIR = D:/Qt/Qt5.7.1/5.7/msvc2015
COPY_DEPENDENCIES = ON

如果你不需要编译obs-browser(cef内核浏览器插件),BUILD_BROWSER 可以不勾选。

如果需要,勾选 BUILD_BROWSER 后,还需要增加配置下面两个变量

CEFWRAPPER_LIBRARY = D:/Workspace/Coding/CEF/cef_binary_3.2704.1434.gec3e9ed_windows32/Release/libcef_dll_wrapper.lib
CEF_ROOT_DIR = D:/Workspace/Coding/CEF/cef_binary_3.2704.1434.gec3e9ed_windows32

附上我的图: 这里写图片描述


那么cef_binary_3.2704.1434.gec3e9ed_windows32从哪来?

下载地址: https://cefbuilds.com/

我下载的 cef_binary_3.2704.1434.gec3e9ed_windows32.7z

解压至 D:/Workspace/Coding/CEF/cef_binary_3.2704.1434.gec3e9ed_windows32

再进行cmake, 先‘Configure’,再‘Generate’

这里写图片描述

打开 D:/Workspace/Coding/CEF/cef_binary_3.2704.1434.gec3e9ed_windows32/build/cef.sln

build成功后就会生成D:/Workspace/Coding/CEF/ cef_binary_3.2704.1434.gec3e9ed_windows32/Release/libcef_dll_wrapper.lib


下面回到正题obs-studio的cmake,按以上的步骤增加环境变量,先‘Configure’,再‘Generate’,就会配置成功,成功后,用VS2015打开D:/Workspace/Github/obs-studio-build/obs-studio.sln,build即可!


二、使用QT 5.7.1##

打开QT,[文件]->[打开文件或项目],选择obs-studio源码下的CMakeLists.txt

这里写图片描述

会自动进行cmake,会报错。所以进入下图配置一下DepsPath

DepsPath = D:/Workspace/Coding/dependencies2015/win32

这里写图片描述

这里不用配置QTDIR,因为本身就是QT打开的工程,自带QTDIR的环境。

配置好后,再点一下“Apply Configuration Changes”

再去编译构建。

构建完成后,运行,会出错! 因为QT默认的项目程序运行地址下没有obs32.exe

需要重新指定一下,如下图:

这里写图片描述

再去QT编辑界面点那个绿色的三角形Run即可运行成功。


如果勾选了BUILD_BROWSER,也编译成功了。但你发现在来源里添加源并没有BrowserSource这一个,为什么呢?

你需要将以下库拷贝到%obs-studio%\build\rundir\Release\obs-plugins\32bit

%CEF%\Release\libcef.dll

%CEF%\Release\natives_blob.bin

%CEF%\Release\snapshot_blob.bin

%CEF%\Resources*.*

这样就可以正常使用CEF浏览器插件了。


Similar Posts

Comments