libobs从视频采集卡获取视频流,渲染到3D软件纹理

我想要达到的结果

期望用libobs从视频采集卡获取视频流,渲染到3D软件纹理

问题遇到的现象和发生背景

未找到obs从source中获取纹理的相关方法

我的解答思路和尝试过的方法

首先了解到OBS是一个开源视频采集、解码、播放工具
获取了OBS github代码,并成功编译生成了obs studio播放器,能在生成的播放器中播放视频采集卡采集到的视频

然后了解到工程里有test工程
成功编译了test工程,修改代码,实现了简单的在windows程序内播放采集卡采集到的视频

由于是要把数据拿到其他软件中描画
删掉了window相关代码,如HINSTANCE

并合入了3D软件代码,程序能跑起来
然后卡住了,不知道从哪里拿到我想要的数据,不论是texture、image、raba数据,怎样都行

用代码块功能插入代码,请勿粘贴截图
    CreateOBS();
    obs_load_all_modules();
    obs_source_t* captureSource;
    captureSource = obs_source_create("dshow_input", "DshowWindowsCapture", NULL, nullptr);
    get_device_id(captureSource);
    const char* deviceID = "";
    if (!DeviceID.empty()) {
        deviceID = DeviceID[1].c_str();
    }
    obs_data_t* setting = obs_data_create();
    obs_data_t* curSetting = obs_source_get_settings(captureSource);
    obs_data_apply(setting, curSetting);
    obs_data_set_string(setting, "id", "dshow_input");
    obs_data_set_string(setting, "video_device_id", deviceID);
    obs_source_update(captureSource, setting);
    //SceneContext scene = obs_scene_create("test scene");
    //AddTestItems(scene, captureSource);
    //obs_set_output_source(0, obs_scene_get_source(scene));
    //DisplayContext display = CreateDisplay(hwnd);
    //obs_display_add_draw_callback(display, RenderWindow, nullptr);
补充

调试时在video线程外取source内数据,都是空的

img

提供参考思路:[OBS] 渲染 source,scene,transition,filter】链接:https://blog.csdn.net/felicityWSH/article/details/103295202

OBS数据采集及渲染过程
https://blog.csdn.net/m0_60259116/article/details/126410604
可以看看

参考一下
https://blog.csdn.net/balijinyi/article/details/80284504