OBS源码学习笔记(二)

采集模块:

在win-dshow中,该模块会生成win-dshow.dll;

该目录主要是使用dshow来做音视频采集;

了解该处的代码,可以了解如何实现音视频分离;


有视频采集的代码,现在看dshowcapture.cpp中的代码,DShow中主要


SetupVideoCapture<====SetVideoConfig<=====UpdateVideoConfig<=====DShowInput::Activate<=====RegisterDShowSource

<======obs_module_load


obs-module.h中定义了obs插件模块的公共接口函数:

obs_module_load

obs_module_unload

obs_module_set_locale

obs_module_free_locale

obs_module_set_pointer

obs_current_module

obs_module_ver


obs.h中定义了obs启动的主要入口代码(最好是从这个文件开始慢慢看)

obs_startup

obs_shutdown

obs_initialized

obs_get_version

obs_reset_video

obs_reset_audio

obs_open_module


在OBSInit中,先是做了一堆的初始化工作,然后主要调用obs_load_all_modules加载所有的obs模块,对每个模块使用obs_module来描述其dll文件路径,数据文件路径,模块名称,打开的HANDLE句柄,通过调用load_module_exports  dlsym记录obs_module_load,obs_module_set_pointer,obs_module_ver,obs_module_unload等模块接口函数;处理好后,将该模块挂载到obs->first_module队列中。同时,调用mod->set_pointer(*module)将模块内部变量回指到该obs_module中,方便查找吧。



要在OBS源码中添加图片来源,首先需要理解OBS的基本结构和工作原理。OBS(Open Broadcaster Software)是一款开源的多媒体直播和录制软件,可以通过它进行实时视频和音频的捕获、混音、编码和广播。 在OBS中,源码的添加是通过插件(Plugin)来实现的。插件是一种扩展功能的模块,可以将自定义的代码和资源整合到OBS中。 添加图片源的过程如下: 1. 创建一个新的插件项目。可以通过OBS提供的插件模板来创建一个新的插件项目,或者根据自己的需求进行修改。 2. 在插件的源代码中,添加一个新的源类型。这个新的源类型就是图片源,在源代码中定义它的基本属性和方法。例如,可以定义图片路径、尺寸、位置等属性,以及加载、渲染图片等方法。 3. 实现图片加载和渲染逻辑。使用合适的库,如OpenCV、SDL_image等,加载指定路径的图片,并将其渲染到OBS的场景中。这可以通过调用OBS提供的渲染接口来完成。 4. 在插件的设置中,提供一个界面用于用户配置图片路径、尺寸和位置等属性。这可以通过使用OBS提供的UI库和功能来实现。 5. 编译和安装插件。根据OBS的编译和安装流程,将插件代码编译成可执行文件,并将插件文件复制到OBS的插件目录中。 6. 启动OBS,进入“Sources”窗口,在“添加”下拉菜单中选择刚才添加的图片源类型。根据使用者的需求,配置图片源的相关属性。 通过以上步骤,就可以在OBS中成功添加一个图片源。用户可以通过更改配置文件、设置图片路径等方式,动态修改和加载图片。这样,就能够灵活地实现图片的嵌入和切换,从而满足不同场景的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值