使用 OBS Studio API 进行高级场景和源配置

通过编程接口(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 = 300
    obs_sceneitem_set_pos(scene_item, &pos);

    // 设置缩放
    vec2 scale = {0.5, 0.5}; // 缩放50%
    obs_sceneitem_set_scale(scene_item, &scale);

    // 设置裁剪
    obs_sceneitem_crop crop = {100, 50, 100, 50}; // left = 100, top = 50, right = 100, bottom = 50
    obs_sceneitem_set_crop(scene_item, &crop);

    obs_source_release(display_capture);
    obs_set_output_source(0, obs_scene_get_source(mainScene));
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值