Skip to content

Desuq Cafe

ドキュメントメニュー

この翻訳は最新の英語版より遅れている場合があります。 英語版を表示

フィルター

OBS のフィルターは、任意のソース(シーンまたは入力)にアタッチされ、カラーコレクション、クロマキー、ノイズ抑制など、ソースの外観や音声を変更します。このプラグインは OBS フィルター API を完全に公開しており、利用可能なフィルターの種類の一覧取得、ソースごとのフィルターチェーンの読み書き、そしてイベントによるフィルター変更への対応が可能です。

関数

関数説明
GetSourceFilterKindList()利用可能なフィルターの種類の一覧を更新する
GetCachedFilterKinds()ローカルにキャッシュされたフィルターの種類の一覧を取得する
GetSourceFilterList(SourceName)ソース上のすべてのフィルターを取得する
GetCachedFiltersForSource(SourceName)ソースのローカルキャッシュ済みフィルターを取得する
HasCachedFiltersForSource(SourceName)ソースのフィルターデータがキャッシュされているか確認する
CreateSourceFilter(Source, Name, Kind, Settings)ソースに新しいフィルターを追加する
RemoveSourceFilter(Source, FilterName)ソースからフィルターを削除する
SetSourceFilterEnabled(Source, Filter, Enabled)フィルターを有効化または無効化する
SetSourceFilterName(Source, OldName, NewName)フィルターの名前を変更する
SetSourceFilterIndex(Source, Filter, Index)チェーン内のフィルター位置を変更する(0 = 先頭)
SetSourceFilterSettings(Source, Filter, Settings, Overlay)フィルターの設定を更新する
GetSourceFilter(Source, Filter)特定のフィルターの詳細を取得する
GetSourceFilterDefaultSettings(Kind)フィルターの種類のデフォルト設定を取得する

注: フィルターは SourceName と FilterName のペアで識別されます(UUID なし)。フィルターインデックス 0 は処理チェーンの最上位のフィルターです。

イベント

フィルターの変更に対応するために、以下のイベントをサブスクライブします。

  • OnSourceFilterCreated(SourceName, FilterName, FilterKind, FilterIndex, bEnabled): ソースにフィルターが追加された
  • OnSourceFilterRemoved(SourceName, FilterName): ソースからフィルターが削除された
  • OnSourceFilterNameChanged(SourceName, OldName, NewName): フィルターの名前が変更された
  • OnSourceFilterSettingsChanged(SourceName, FilterName): フィルターの設定が変更された
  • OnSourceFilterEnableStateChanged(SourceName, FilterName, bEnabled): フィルターが有効化/無効化された
  • OnSourceFilterListReindexed(SourceName): ソース上のフィルターの順序が変更された

使用例

// Add a color correction filter to a source, then disable it.
Subsystem->CreateSourceFilter(
    TEXT("Webcam"),
    TEXT("Warmth"),
    TEXT("color_filter_v2"),
    Settings);

Subsystem->SetSourceFilterEnabled(TEXT("Webcam"), TEXT("Warmth"), false);

// Move a filter to the top of the chain.
Subsystem->SetSourceFilterIndex(TEXT("Webcam"), TEXT("Warmth"), 0);

関連項目