ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何在 macOS 上构建 OBS Background Removal 插件:Xcode、vcpkg 与 CMake 开发环境搭建实战指南

如何在 macOS 上构建 OBS Background Removal 插件:Xcode、vcpkg 与 CMake 开发环境搭建实战指南 人工智能计算机视觉视频处理【免费下载链接】obs-backgroundremovalAn OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming.项目地址https://gitcode.com/gh_mirrors/ob/obs-backgroundremoval点击查看免费下载本篇指南完整讲解如何在 macOS 上从源码搭建 OBS Background RemovalOBS 人像背景移除 / 虚拟绿幕与低光增强插件的开发环境覆盖 Xcode 16.4 安装、Homebrew/CMake 系统依赖、vcpkg 依赖管理、ONNX Runtime 下载、CMake 预设配置与构建、本地插件安装调试以及 clang-format/gersemi 代码规范检查的全部步骤。读完本文你将能够在本机完成该插件的全流程编译、将产物装入系统 OBS 实测并掌握与仓库内 CMake 预设、vcpkg 三元组和打包脚本相互印证的底层构建原理。一、构建全景技术栈与 macOS 平台要点OBS Background Removal 是一个基于神经网络的人像分割 OBS 插件通过 ONNX Runtime 推理预训练模型生成前景掩膜从而在直播或录屏时轻松替换背景并附带低光增强能力。其核心源码位于 src而 macOS 上的构建主要涉及以下技术栈可对照 CMakeLists.txt 确认语言标准C20 / C17由 CMakeLists.txt 强制设定构建系统CMake最低版本 3.28见 CMakeLists.txt推理引擎ONNX Runtime含 CUDA/ROCm 执行提供程序的编译期检测见 CMakeLists.txt图像处理OpenCV 4opencv_core / opencv_imgproc / opencv_geometryOBS 接口libobs、obs-frontend-api 以及 Qt6 Widgets网络组件CURL用于更新检查见 src/update-checker。macOS 平台有两个必须提前知道的特殊点架构必须原生匹配该插件不支持 Rosetta2 跨架构转译。在 Apple Silicon 上运行 Intel 版 OBS/插件、或在 Intel Mac 上运行 Apple Silicon 版二进制都会崩溃请始终使用与本机架构一致的 OBS Studio 与插件构建pages/src/pages/macos.astro 中亦有明确警告。官方构建以 Apple Siliconarm64为准仓库内的 macOS 依赖三元组与 CMake 预设均面向 arm64例如 vcpkg-triplets/arm64-osx-obs-ort.cmake 将VCPKG_TARGET_ARCHITECTURE固定为 arm64Intel x64 对应三元组vcpkg-triplets/x64-osx-obs-ort.cmake同样存在但本仓库 CMakePresets.json 内置的 macOS 预设仅针对 arm64。二、第 1 步安装 Xcode 16.4官方开发指南明确要求使用Xcode 16.4且App Store 版本不可用必须从 Apple Developer Downloads 页面单独下载需要 Apple ID 登录无需开发者计划付费会员。安装完成后在终端中导出开发者目录使命令行工具链指向该版本的 Xcodeexport DEVELOPER_DIR/Applications/Xcode_16.4.0.appDEVELOPER_DIR是 Apple 工具链的标准环境变量CMake、xcrun、编译器定位等都会读取它。将其指向非 App Store 的 Xcode 包可以避免系统默认工具链版本与 CI 构建环境不一致导致的编译问题。建议把该 export 写入 shell 配置文件如~/.zshrc以便每次打开终端都能保持正确的工具链环境。三、第 2 步安装系统依赖Homebrew CMake若本机尚未安装 Homebrew请先安装 HomebrewmacOS 上最常用的软件包管理器。随后安装 CMakebrew install cmake结合 CMakeLists.txt 可知本项目要求cmake_minimum_required(VERSION 3.28)因此请确保brew install得到的 CMake 版本不低于 3.28。若 Homebrew 默认源中的版本过旧可通过brew upgrade cmake更新。四、第 3 步获取源码将项目源码克隆到本地工作目录并进入项目根目录。本仓库为该项目的一份镜像可直接克隆本仓库地址进行开发git clone https://gitcode.com/gh_mirrors/ob/obs-backgroundremoval.git cd obs-backgroundremoval进入目录后可以快速验证关键构建文件是否齐备例如根目录下的 CMakeLists.txt、CMakePresets.json、vcpkg.json 与 vcpkg-configuration.json。注意官方文档中引用的部分开发辅助脚本如.github/scripts/、cmake/、build-aux/目录属于上游 CI 与工具链仓库的组成部分本镜像仓库中不包含这些文件后续步骤中遇到这些路径时请以其命令语义为准。五、第 4 步搭建 vcpkgvcpkg 是本项目管理第三方依赖OpenCV、curl、cpuinfo 等的核心工具。克隆并引导 vcpkg然后导出VCPKG_ROOTgit clone https://github.com/microsoft/vcpkg.git ~/vcpkg ~/vcpkg/bootstrap-vcpkg.sh export VCPKG_ROOT~/vcpkg从仓库配置文件可以进一步理解 vcpkg 在本项目中的角色vcpkg-configuration.json 通过overlay-triplets指向仓库内 vcpkg-triplets 目录并注册了kaito-tokyo/vcpkg-registry-kaito-tokyo私有注册表用于提供wolfssl包macOS 上 curl 的 SSL 后端vcpkg.json 声明了插件依赖cpuinfo、按平台区分的curlWindows/macOS 差异配置以及启用jpeg特性的opencv4以 vcpkg-triplets/arm64-osx-obs-ort.cmake 为代表的 macOS 三元组设定了VCPKG_CMAKE_SYSTEM_NAMEDarwin、VCPKG_TARGET_ARCHITECTUREarm64、静态库链接、C20 标准以及VCPKG_OSX_DEPLOYMENT_TARGET13.0等参数。六、第 5 步安装构建依赖耗时约 10–20 分钟运行仓库提供的 macOS 依赖安装脚本该步骤会拉取并编译 OBS 依赖obs-deps、obs-frontend-api、Qt6 等官方文档提示可能需要10–20 分钟./.github/scripts/install-vcpkg-macos.bash该脚本位于上游仓库的.github/scripts目录本镜像未包含此目录。从 CMakePresets.json 可以看出依赖安装的最终落点是CMAKE_PREFIX_PATH中的.deps/obs-deps、.deps/obs-deps-qt6、obs_installed、vcpkg_ort_installed/arm64-osx-obs-ort、ort_installed与vcpkg_installed/arm64-osx-obs等目录——即依赖安装脚本的产物将在此后的 CMake 配置阶段被自动搜索。这一步骤较耗时属正常现象请耐心等待其完成不要中断。七、第 6 步下载 ONNX Runtime通过 CMake 脚本模式下载并准备 ONNX Runtimecmake -P cmake/DownloadOnnxruntime.cmake该脚本同样位于上游cmake/目录本镜像未包含。ONNX Runtime 在构建中的定位可以从 CMakeLists.txt 验证构建系统先通过find_package(onnxruntime CONFIG)查找失败时回退到 pkg-config随后通过check_cxx_symbol_exists检测OrtSessionOptionsAppendExecutionProvider_CUDA/_ROCM符号以决定是否启用对应执行提供程序。需要说明的是macOS 场景下插件使用的是 CoreML 加速对 Apple Silicon 高效而 CUDA/ROCm 检测主要服务于 Linux 自编译场景在 macOS 上请确保所下载的 ONNX Runtime 与 arm64 架构匹配。八、第 7 步配置并构建项目使用 CI 预设完成配置cmake --preset macos-ci使用 CI 预设完成构建cmake --build --preset macos-ci这里有一个需要注意的预设名差异官方文档给出的预设名为macos-ci它由上游 CI 工作流定义而当前镜像仓库 CMakePresets.json 中内置的 macOS 预设名为macos-arm64其核心设置包括binaryDir为build构建类型为RelWithDebInfoCMAKE_OSX_ARCHITECTURESarm64CMAKE_OSX_DEPLOYMENT_TARGET13.0CMAKE_PREFIX_PATH覆盖上文提到的 obs-deps、obs_installed、vcpkg_ort_installed、vcpkg_installed 等依赖目录。因此若你在本镜像上开发可以按需将命令替换为cmake --preset macos-arm64与cmake --build --preset macos-arm64效果等价于文档所述的 CI 构建。构建过程还有两点源码层面的佐证编译器选项在 UNIX 分支启用了-Wall -Wextra -Werror以及-fopenmp-simd见 CMakeLists.txt即构建时把警告当作错误代码需保持零警告macOS 分支下插件目标被设置为BUNDLE TRUE且扩展名为.plugin并链接 src/exported_symbols_macos.txt 指定的符号导出白名单见 CMakeLists.txt 与 CMakeLists.txt若开启了BUILD_TESTING配置阶段还会通过add_subdirectory(tests)引入 tests/CMakeLists.txt 中的测试构建完成后可用ctest运行验证。九、第 8 步在系统 OBS 中测试插件构建完成后将插件 bundle 复制到系统 OBS 的插件目录cp -r build_macos/RelWithDebInfo/obs-backgroundremoval.plugin ~/Library/Application\ Support/obs-studio/plugins关于目标路径与产物结构仓库源码给出了明确印证在 CMakeLists.txt 的 APPLE 分支中插件被配置为.plugin扩展名的 bundle安装目标为Library/Application Support/obs-studio/plugins即用户目录~/Library/...下同时特效文件data/effects下的 blend_images、kawase_blur、mask_alpha_filter、多语言本地化文件data/locale下的 14 种语言 ini以及全部 ONNX 模型data/models都会被打包进 bundle 的Resources/effects、Resources/locale、Resources/models子目录。两点实操提醒产物路径以预设为准文档命令中的build_macos目录来自 CI 构建命名本仓库 CMakePresets.json 的binaryDir为build若使用macos-arm64预设对应产物路径应为build/RelWithDebInfo/obs-backgroundremoval.plugin请按实际构建输出目录调整重启 OBS 并保持架构一致复制完成后重启 OBS Studio若正在运行并在“源/滤镜”中验证插件是否加载务必确保 OBS 与插件均为同一原生架构Apple Silicon 用 arm64避免 Rosetta2 转译导致的崩溃。十、第 9 步代码风格检查clang-format / gersemi提交代码前请安装官方推荐的格式化工具并运行 lint 脚本brew install obsproject/tools/clang-format19 obsproject/tools/gersemi ./build-aux/run-clang-format ./build-aux/run-gersemiclang-format19来自obsproject/toolsHomebrew tap用于统一 C/C 代码风格对应仓库 src 下的 C/C 源文件gersemi是 CMake 文件专用格式化工具用于规范 CMakeLists.txt 与 CMakePresets.json 等构建脚本的排版build-aux/run-clang-format与build-aux/run-gersemi为上游仓库的辅助脚本本镜像未包含build-aux目录若在镜像上开发可参照其语义直接调用对应工具二进制完成检查。十一、常见问题速查现象原因与对策cmake --preset macos-ci提示预设不存在macos-ci由上游 CI 定义本镜像 CMakePresets.json 仅内置macos-arm64改用该预设即可App Store 版 Xcode 编译报错文档明确要求非 App Store 的 Xcode 16.4并导出DEVELOPER_DIR指向其安装路径插件装入后 OBS 崩溃架构不匹配Rosetta2 不支持请使用与本机架构一致的 OBS 与插件arm64 Mac 配 arm64 构建依赖安装步骤长时间停留正常官方文档预估该步骤需 10–20 分钟请勿中断构建因警告失败UNIX 分支启用了-Werror需消除全部编译警告十二、延伸阅读其他平台的开发指南pages/src/pages/dev/ubuntu.md、pages/src/pages/dev/windows.md、pages/src/pages/dev/index.astro插件安装与使用说明pages/src/pages/macos.astro、pages/src/pages/usage.astro构建配置与依赖声明CMakePresets.json、CMakeLists.txt、vcpkg.json、vcpkg-configuration.jsonmacOS 导出符号清单src/exported_symbols_macos.txt。至此你的 macOS 本地开发环境已搭建完成可以开始编译、调试并为本插件贡献代码了。赞分享人工智能计算机视觉视频处理【免费下载链接】obs-backgroundremovalAn OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming.项目地址https://gitcode.com/gh_mirrors/ob/obs-backgroundremoval点击查看免费下载相关推荐终极指南如何在macOS上快速搭建C开发环境终极指南如何在macOS上快速搭建C开发环境 GitHub 加速计划 / ma / mac setup 提供了在 macOS 上搭建 C 开发环境的完文档教程开发工具nwpu-cram之数字信号处理理论与MATLAB实现nwpu cram之数字信号处理理论与MATLAB实现 nwpu cram是西北工业大学软件学院的复习突击资料集合其中包含了丰富的数字信号处理相关学习资源教程知识库教育openFrameworks macOS 开发指南Xcode 环境搭建、项目生成与 Debug/Release 构建openFrameworks macOS 开发指南Xcode 环境搭建、项目生成与 Debug/Release 构建 openFrameworks简称 oF图形学音视频上一篇终极救砖指南使用nmrpflash拯救变砖的Netgear路由器下一篇三分钟掌握FModel打开虚幻引擎游戏资源宝库的钥匙创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表