通过编程接口(API)精确控制 OBS Studio 中的场景和源配置,以实现高级视频捕捉和流设置。
obs_sceneitem_set_pos():设置源在场景中的位置。
obs_sceneitem_set_scale():设置源的缩放(相对于其原始大小)。
obs_sceneitem_set_crop():设置源的裁剪。
obs_data_set_string():用于设置字符串类型的参数。
obs_sceneitem_set_visible():设置源的可见性。
obs_sceneitem_set_bounds():设置源的边界,用于确定如何在画布中放置和拉伸源。
obs_source_set_muted():设置源的静音状态。
obs_sceneitem_set_order():设置场景项的顺序(比如置顶或置底)。
代码示例:
// 设置显示器捕捉的扩展设置
void MainWindow::setupDisplayCapture() {
obs_source_t* display_capture = obs_source_create("monitor_capture", "Display Capture", NULL, NULL);
obs_data_t* settings = obs_data_create();
obs_data_set_int(settings, "monitor", 0); // 选择第一个显示器
obs_source_update(display_capture, settings);
obs_data_release(settings);
mainScene = obs_scene_create("Main Scene");
obs_sceneitem_t* scene_item = obs_scene_add(mainScene, display_capture);
// 设置位置
vec2 pos = {500.0, 300.0}; // x = 500, y