obs-studio-node是一个开源项目:https://github.com/stream-labs/obs-studio-node.git
该项目在obs基础上用C++封装了一套可供前端js使用的框架。
obs-studio-node中两个关键的工程:obs-studio-server和obs-studio-client
obs-studio-server是一个单独的进程,提供了对obs更高层次的封装,包括设备状态和使用情况的记录。外部模块可以通过RPC的方式来调用。
Obs-studio-client 是一个dll工程,该dll可以供node进行调用,底层通过RPC与obs-studio-server进行交互。Client中的接口与server中的接口一一对应。
obs-studio-node将obs底层接口归类,封装成16个大类,每个大类下有对应的抽象方法。
具体封装接口的意义还在分析。
Server(Obs64.exe)包装了obs的接口,管理各模块创建出来的source对象
Input \Filter \Transition\Scene创建的对象都由Source模块管理,并返回对应的id