obs windows 编译 obs browser

本文详细介绍了如何在Windows上编译CEF库的32位版本以匹配OBS Browser,包括从cefbuilds网站下载合适版本,使用CMake配置Visual Studio工程,以及编译和验证过程。同时,还讲解了如何获取OBS Browser源码,配置编译环境,解决编译中遇到的问题,确保在OBS中能成功使用Browser资源。

参考 https://github.com/obsproject/obs-browser
编译 cef,有些版本号可能编译不过或者与 obs browser 不匹配,需要多尝试,本人测试多次才找到 3626 的 32 位版本与最新的 obs browser 编译成 32 位才调通

  • 下载 http://opensource.spotify.com/cefbuilds/index.html cef_binary_3.3626.1895.g7001d56_windows32.tar.bz2
  • 使用 cmake 生成 cef 编译环境
    • 运行 cmake-gui
    • 设置源码目录 C:\Users\Administrator\Desktop\xiaoshiwei\cef_binary_3.3626.1895.g7001d56_windows32
    • 设置编译后的二进制目录 C:\Users\Administrator\Desktop\xiaoshiwei\cef_binary_3.3626.1895.g7001d56_windows32\build (这个目录需要自己创建,下载的源码里面没有这个目录)
    • 执行配置,选择 Visual Studio 15 2017 win32
    • 执行生成
    • 打开项目,将自动打开已经生成好的 Visual Studio 工程文件
    • 使用 vs 编译 ALL_BUILD 工程,Debug/Release 最好都编译,方便 obs webrowser 编译不同版本
    • 验证,把 ceftests 工程设为启动项,然后运行正常
  • 下载源码 git clone --recursive https://github.com/obsproject/obs-browser.git
  • 把源码拷贝到 obs-studio\plugins\obs-browser 目录下,默认下载 obs-studio 源码时,只含有一个对应的 obs-browser 空目录。
  • 使用 cmake 生成 obs 编译环境
    • 勾选环境变量 BUILD_BROWSER 选项,点击配置按钮,修改 CEF_ROOT_DIR 路径
    • 添加环境变量 Qt5WebEngineWidgets_DIR 依赖库目录 C:/Qt/Qt5.13.1/5.13.1/msvc2017/lib/cmake/Qt5WebEngineWidgets
    • 执行生成
    • 打开项目,将自动打开已经生成好的 Visual Studio 工程文件
    • 使用 vs 编译 ALL_BUILD 工程
    • 验证,运行 obs 后添加资源里面可以看到 Browser,并且可以正常使用该资源

最佳实践:

  • 获取稳定版本:下载一个官方编译的 obs,检查其版本和打开一个浏览器访问 https://www.w3school.com.cn/tiy/t.asp?f=hdom_navigator 检查浏览器内核的的版本,如:obs-64-25.0.8 chromium-75.0.3770.100,下载 cef 75.0.3770.100 最后更新的版本会比较稳定,下载页 http://opensource.spotify.com/cefbuilds/index.html#windows64_builds ,文件名:cef_binary_75.1.14+gc81164e+chromium-75.0.3770.100_windows64.tar.bz2
  • 编译 cef ,可能有些工程会编译错误,但都不太重要,只要 libcef_dll_wrapper 能编译通过即可,当然也可以通过修改代码或者工程属性等去解决编译错误。cef 编译的是 Release 版本会比较顺利,如果是 Debug 版本,则有些引用的地方默认是 release,要改成 Debug,否则会编译不过。如:使用 CMake 生成 obs 编译工程时可能会因为打开了 browser 选项导致一些错误,典型的 FindCEF.cmake Could not find the CEF wrapper library 错误,需要将 FindCEF.cmake 相应的脚本改成 debug 路径;使用 vs 编译 obs 时可能会链接不过,需要修改相应的工程属性配置
### 编译 OBS 源码并处理超级键相关问题 对于希望编译 OBS (Open Broadcaster Software) 并解决其中涉及的超级键(Super Key)相关问题的情况,可以遵循一系列特定的操作流程。虽然提供的参考资料未直接提及此过程[^1],但基于广泛认可的最佳实践以及社区贡献者的经验分享,以下是详细的指南。 #### 准备工作环境 确保开发环境中已安装所有必需的依赖项。这通常包括但不限于 CMake、Qt库及其开发包、FFmpeg及相关编码器支持等。具体到超级键的支持可能还需要额外配置X11或Wayland输入事件监听机制。 #### 获取最新源代码 通过官方 GitHub 仓库克隆最新的 OBS Studio 项目副本: ```bash git clone https://github.com/obsproject/obs-studio.git cd obs-studio ``` #### 配置CMake选项以启用高级功能 为了更好地控制键盘快捷方式特别是超级键的行为,在调用`cmake`之前可以通过设置参数来自定义行为特性。例如: - 启用对 Wayland 协议的支持以便更精确地捕捉全局热键; - 修改默认绑定策略允许重新映射特殊按键如 Super 键; ```bash mkdir build && cd $_ cmake .. \ -DUNIX_STRUCTURE=ON \ -DBUILD_BROWSER=OFF \ # 如果不需要浏览器插件可关闭以减少复杂度 -DCMAKE_BUILD_TYPE=Release \ -DLINUX_JACK_SUPPORT=ON \ -DENABLE_PIPEWIRE=ON \ -DQT_WAYLAND=ON # 对于现代桌面环境非常重要 ``` #### 构建与安装 一旦完成了上述准备工作,则可以直接利用 `make` 命令来进行实际编译操作,并最终将其部署至本地系统中去。 ```bash make -j$(nproc) sudo make install ``` #### 处理超级键冲突或其他异常情况 如果发现存在某些应用程序抢占了超级键作为其内部使用的快捷方式而导致 OBS 中无法正常使用该组合键的话,那么就需要排查这些潜在的竞争关系。一种方法是在启动时禁用不必要的后台进程和服务;另一种则是调整其他软件中的相应设定使之避开冲突区域。 此外,还可以考虑修改 OBS 的配置文件(位于用户主目录下的隐藏文件夹 `.config/obs-studio/basic/profiles/default/hotkeys.json`),手动指定新的替代方案用于触发相同的功能动作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值