obs studio 插件

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

 准备阶段

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

 

 

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

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

 

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

遇到的问题:

运行时aac报错

因为aac编码是苹果的,下载苹果应用支持安装包

https://raw.githubusercontent.com/kiki-kiko/iTunes-12.3.1.23/master/AppleApplicationSupport64.msi

 

 初步裁剪

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

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

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

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

 

 

 

 

 

 整合进UE5做成plugins

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

 插件功能

 1 音轨和视频采集,视频来源支持两种:屏幕采集和摄像头数据采集

    2 简单的播放器:播放音频和视频

 
 实现步骤:

  1 捕捉桌面视频和音频

  2 copy到rendertarget,输出到UE5材质

  3 推流到服务器(可用b站测试)

  4 接受服务端的回流并显示

 

posted @ 2023-03-14 11:56  billin  阅读(652)  评论(0编辑  收藏  举报