最近需要把obs studio做成虚幻5的插件,大概步骤如下

 准备阶段

      obs源码版编译和配置运行,我用的cmake-gui

 

 

 需要提到一点,我没有严格按照官网说的去配置,因为官网的depencence本身并不完整,而且在windows平台下,有个更好用的开源包构建管理工具vcpkg,强烈推荐大家用这个,也希望有能力的伙伴加入维护,共建windows开源系统的开发环境。

只要cmake中报错缺失某个包,直接用vcpkg安装即可,然后把vcpkg的路径配置到

 

 CMAKE_PREFIX_PATH这个变量里,也可以把官方的dependence和vcpkg一起配置到这个变量中。

 初步裁剪

  obs studio本身作为一个完整的应用程序,拥有庞大的框架,并形成了一套自己的扩展体系,拥有QT作为UI系统的支撑,拥有自己的插件系统,在插件中支持多种编码格式和自有扩展,并且支持lua和python脚本扩展。因此整合之前,需要进行初步裁剪,剪掉

  1 脚本系统:lua和python支持,也剪掉script通用工程。

  2 插件系统:只保留用到的h264编码格式,其他功能和编码一律精简掉。

  3 UI系统:虚幻有自己的一套UI,而且obs studio整合了QT框架做UI,这部分也必须精简掉。(尽量不要引入庞大的框架进入虚幻,否则后续的引擎升级和更新维护会很麻烦)

 整合进UE5做成plugins

 做成一个插件,提供基本的音视频设备初始化,采集和推流接口,供C++和蓝图调用。

 推流测试

   与后端同事一起做推流对接测试,或者用阿里云测试,obs作为一个广泛使用的推流标准,测试还是很方便的。