一、obs 大体流程
由于obs整个项目代码量很大,刚开始接触时不知道从何着手。所以,整理出一份简单的流程图,大家后面做二次封装时可以对照这个流程图。
当然,每个过程都有一些细节需要做。比如,如何遍历音视频列表、如何调整编码器参数等等。流程图会列出每个步骤的关键函数,大家再对照的源码部分来完善细节部分。
二、obs 主要接口及流程图
1、主要接口
比较重要的一个接口是创建源,例如打开摄像头其实是创建对应的摄像头源。调用逻辑如下:
//打开摄像头
//第一个参数设置通过direct进行视频采集、第二个参数是摄像头的名字
OBSSource m_VideoSource = obs_source_create("dshow_input", CameraName.c_str(), NULL, nullptr);
}
//源码部分
obs_source_t *obs_source_create(const char *id, const char *name,
obs_data_t *settings, obs_data_t *hotkey_data)
static obs_source_t *
obs_source_create_internal(const char *id, const char *name,
obs_data_t *settings, ob