OBS-Studio MAC平台编译 --- 史上最全

前言

之前一直在Windows上做开发,后来转iOS。所以没有Windows环境的机器了。最近又在做斗鱼直播,但是遇到斗鱼没有Mac上的直播App。所以自己上网找了一下,发现obs。正巧自己又是做C++开发的,所以准备看看obs的代码。

What is OBS?

This project is a rewrite of what was formerly known as “Open Broadcaster 
Software”, software originally designed for recording and streaming live 
video content, efficiently.

开发环境

OS      : macOS Sierra 10.12
Xcode   : Version 8.0 (8A218a)
  • 1
  • 2

正文

一、OBS-Studio 代码下载

obs git clone:
    https://github.com/jp9000/obs-studio.git
  • 1
  • 2

二、依赖库下载

关于依赖库的安装 参考 git wiki :
    https://github.com/jp9000/obs-studio/wiki/Install-Instructions#mac-osx
  • 1
  • 2

第三方依赖库主要是 FFMPEG 、X264、QT5。cmake 用来生成Xcode工程。可以使用homebrew来安装FFMPEG 、X264。但是QT5 由于 macOS Sierra的原因,无法编译成功。所以直接从QT官方上下载,安装。

1. homebrew 安装

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 1

2. ffmpeg 安装

命令行输入:brew install ffmpeg
  • 1

3. x264 安装

命令行输入:brew install x264
  • 1

4. qt5 安装

qt5 下载安装:
    http://qt.mirrors.tds.net/qt/archive/qt/5.5/5.5.1/qt-opensource-mac-x64-clang-5.5.1.dmg
  • 1
  • 2

三、Xcode 工程文件生成

FFMPEG X264都是 brew安装,因此 cmake 可以找得到。

FFMPEG安装路径:/usr/local/Cellar/ffmpeg
X264安装路径:/usr/local/Cellar/x264
  • 1
  • 2

QT5 自定义安装

一般就安装在:/Users/(your name)/Qt5.5.1
  • 1

在cmake中无法自动找到qt,因此需要自己配置一下 Qt5Widgets。

一般路径:/Users/(your name)/Qt5.5.1/5.5/clang_64/lib/cmake/
  • 1

cmake_config

上述第三方库配置好,就可以根据你自己的cmake生成路径来生成Xcode工程。

    我自己的配置路径:/Users/(your name)/obs-studio/build
  • 1

最终Xcode工程就会生成在这个地方,有一个叫做 obs-studio.xcodeproj 的工程文件。 
obs_xcode_project

四、编译中遇到的错误

工程文件生成后,使用Xcode8 打开工程文件,编译。当然会有一大堆错误。基本都是Link类型的错误。 
具体细节不展示。其实就是Xcode macOS的依赖库没有配置。

这么多工程,如何下手分析。其实很简单,查看每一项的依赖,找到一个依赖最少的入手。比如下图这个libobs。 
libobs_project

这个target依赖就很少,尝试编译还是有很多错误。基本都是macOS平台库依赖。新建一个Link Binary With Libraries.

libobs: 
link_depend

其他几个target不必多说,看截图。

ffmpeg-mux : 
ffmpeg_mux

obs-ffmpeg : 
obs-ffmpeg

obs : 
obs_main

五、加载中遇到的错误

基本上经过上面编译链接依赖项的添加,代码应该能跑起来了。那么你以为这样子就万事大吉了吗?当然不是,编译链接只是基本,最后加载的时候还有问题。比如遇到动态库无法找到了。

因为QT是手动安装的,所以加载的时候就无法找到对应的库。因此在还需要配置runtime search path。

obs_run_search_path

六、加载完成,代码调试

经过上述几个步骤,代码就能跑起来。界面也出来。选择obs工程,R起来。

obs_main_frame

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: obs-studio编译过程是将源代码转换为可执行文件的过程。对于obs-studio而言,它的编译过程涉及多个步骤。 首先,需要将编写的源代码保存为合适的文件格式,通常是使用C++语言进行开发。在编写代码时,需要考虑到obs-studio的特定要求和功能需求。 其次,在编译过程中,需要使用编译器来将源代码转换为机器语言。obs-studio常用的编译器包括GNU编译器集合(GCC)和Clang。编译过程中,编译器会检查代码中的语法错误和逻辑错误,并生成相应的目标文件。 然后,将生成的目标文件与必要的库文件进行链接。obs-studio依赖于许多外部库,如FFmpeg、libobs和libobs-scripting。链接过程的目的是将这些库文件与目标文件进行连接,形成完整的可执行文件。 最后,进行测试和调试。通过测试和调试,可以发现并解决代码中的错误和问题,确保obs-studio能够正常运行并拥有所需功能。 总结来说,obs-studio编译过程包括保存源代码、使用编译器进行编译、链接库文件以及进行测试和调试。这些步骤将源代码转换为可执行文件,使obs-studio能够顺利运行。 ### 回答2: obs-studio是一款开源的跨平台音视频录制和直播软件。下面将用300字中文回答obs-studio编译过程。 obs-studio编译过程分为几个主要步骤: 1. 准备环境:首先需要安装相应的编译工具和依赖库。这些工具和库包括cmake、git、gcc等。安装完成后需要进行相关配置,如设置环境变量等。 2. 下载源代码:使用git从obs-studio的官方仓库下载最新的源代码。可以选择稳定版本或开发版,然后通过指定分支或标签来获取对应的代码。 3. 生成编译配置:使用cmake生成编译所需的配置文件。这些配置文件会指明编译器、依赖库路径、编译选项等。 4. 编译代码:运行指定的编译命令,如make或ninja。这将根据配置文件中的指示编译源代码,并生成对应的可执行文件。 5. 安装可执行文件:通过运行make install或ninja install命令,将编译生成的可执行文件和相关的资源文件复制到系统指定的目录中。 6. 设置环境:根据需要,可能需要进行一些环境的配置。比如,设置obs-studio的路径、输入输出设备的选择、直播平台的账号配置等。 综上所述,obs-studio编译过程包括准备环境、下载源代码、生成配置、编译代码、安装可执行文件和设置环境等步骤。这样就能够成功地将obs-studio软件编译成可用的版本,以供音视频录制和直播等用途。 ### 回答3: OBS-Studio是一款开源的视频录制和直播软件,可以在Windows、Mac和Linux操作系统上使用。编译过程通常包括以下几个步骤: 1. 首先,需要准备编译所需的软件和工具。这包括安装C++编译器、CMake、Git和其他相关的库和依赖项。 2. 接下来,从OBS-Studio的官方GitHub页面上克隆或下载源代码。可以使用Git命令`git clone`或直接下载压缩文件。 3. 一旦源代码被获取,就可以开始配置编译环境。在命令行中导航到源代码的根目录,并执行CMake命令来生成Makefile文件。 4. 在生成的Makefile文件中,可以设置一些选项,如编译类型(Debug或Release)、安装目录等。 5. 确定好编译选项后,就可以运行Make命令进行编译了。这个过程可能需要一些时间,取决于计算机性能和源代码的规模。 6. 编译完成后,将生成可执行文件和相关的库文件。可以通过运行编译后的可执行文件来启动OBS-Studio。 总体来说,OBS-Studio编译过程相对较简单,但需要一些基本的编译知识和工具的使用经验。通过正确配置编译环境,并按照编译流程进行操作,就可以成功地编译OBS-Studio的可执行文件,并开始使用这款强大的视频录制和直播软件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值