現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています

報告は Discord までお願いします

OBS

セットアップ

1
import { OBSPlugin, OBSPermissions } from '@omujs/obs';
2

3
const obs = OBSPlugin.create(omu);
4

5
omu.permissions.require(
6
    OBSPermissions.OBS_SCENE_READ_PERMISSION_ID,
7
    OBSPermissions.OBS_SOURCE_CREATE_PERMISSION_ID,
8
);
9

10
omu.start();

OBSPlugin.create()
と権限要求は
omu.start()
より前に行います。

接続状態

1
const unlisten = obs.on('connected', () => {
2
    console.log('OBSプラグインへ接続しました');
3
});
4

5
obs.on('disconnected', () => {
6
    console.log('OBSプラグインから切断されました');
7
});
8

9
console.log(obs.isConnected());
10
unlisten();

ブラウザソースを作成する

1
const result = await obs.browserCreate({
2
    name: 'サンプルアプリ',
3
    url: 'https://example.com/app/asset',
4
    width: 1920,
5
    height: 1080,
6
});
7

8
console.log(result.source.uuid);

browserAdd()
は既存のソースをシーンへ追加するときに使います。

シーンを操作する

1
const scenes = await obs.sceneList();
2
const current = await obs.sceneGetCurrent();
3

4
await obs.sceneSetCurrentByName('配信');

名前またはUUIDを使ってシーンやソースを取得・更新・削除できます。操作ごとに対応する

OBSPermissions
の権限が必要です。

スクリーンショット

screenshotCreate()
でソースのスクリーンショットを作成し、
screenshotGetLastBinary()
で画像データを取得できます。