Skip to content

Desuq Cafe

ドキュメントメニュー

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

入力とメディア

入力は OBS のソース(Browser Source、テキスト、メディア、キャプチャデバイスなど)です。このガイドでは、入力の作成と管理、メディア再生の制御、入力設定の編集、およびハードウェアキャプチャデバイスのプロパティの操作について説明します。

入力の管理(CRUD)

関数説明
CreateInput(Scene, Name, Kind, Settings, Enabled)新しい入力を作成してシーンに追加する
CreateInputFromString(Scene, Name, Kind, JsonSettings, Enabled)Blueprint 向けのバージョン
RemoveInput(Name)入力を削除する(どのシーンにも含まれていないこと!)
SetInputName(Name, NewName)入力の名前を変更する
GetInputKindList(bUnversioned)利用可能な入力の種類(ソースタイプ)を取得する
GetCachedInputKinds()ローカルにキャッシュされた入力の種類を取得する

主な入力の種類

種類説明
browser_sourceウェブブラウザ
text_gdiplus_v3テキスト(GDI+、Windows)
text_ft2_source_v2テキスト(FreeType2)
ffmpeg_sourceメディアソース
image_source画像
color_source_v3単色
vlc_sourceVLC ビデオ
window_captureウィンドウキャプチャ
game_captureゲームキャプチャ
dshow_input映像キャプチャデバイス
wasapi_input_capture音声入力
wasapi_output_capture音声出力キャプチャ

注意:

  • CreateInput は入力の作成と指定シーンへの追加をアトミックに行います。
  • RemoveInput は、その入力がいずれかのシーンで参照されている場合に失敗します。先にすべてのシーンアイテムを削除してください。
  • 入力名は OBS 内でグローバルに一意でなければなりません。
  • バージョンなしの名前(シンプルで推奨)を取得するには GetInputKindList(true) を使用してください。

メディア再生

関数説明
PlayMedia(Name)再生を開始する
PauseMedia(Name)再生を一時停止する
StopMedia(Name)再生を停止する
RestartMedia(Name)最初から再開する
NextMedia(Name)プレイリストの次のアイテムに移動する
PreviousMedia(Name)プレイリストの前のアイテムに移動する
SetMediaInputCursor(Name, Ms)ミリ秒単位で位置をシークする
OffsetMediaInputCursor(Name, OffsetMs)現在の位置を基準に相対シークする
SeekToPercent(Name, Percent)再生時間のパーセンテージ位置にシークする(0.0〜1.0)
GetMediaInputStatus(Name)メディアのステータス(状態、時間、カーソル)を取得する
GetCachedMediaInputStatus(Name)ローカルにキャッシュされたメディアのステータスを取得する

メディアイベント

  • OnMediaInputPlaybackStarted(InputName):メディアの再生が開始された
  • OnMediaInputPlaybackEnded(InputName):メディアの再生が終了した
  • OnMediaInputActionTriggered(InputName, Action):メディアアクションが発火した
  • OnMediaInputStatusReceived(Status):メディアのステータスが取得された

入力設定

関数説明
GetInputSettings(Name)入力の現在の設定を取得する(非同期)
GetInputSettingsByUuid(Uuid)入力の UUID で設定を取得する
SetInputSettings(Name, Settings, Overlay)入力の設定を指定する(JSON オブジェクト)
SetInputSettingsFromString(Name, JsonStr, Overlay)入力の設定を指定する(JSON 文字列)
GetInputDefaultSettings(Kind)入力タイプのデフォルト設定を取得する
SetTextSourceText(Name, Text)テキストソースのテキスト内容を設定する
SetBrowserSourceUrl(Name, Url)Browser Source の URL を設定する
SetImageSourceFile(Name, Path)画像ソースのファイルパスを設定する
SetMediaSourceFile(Name, Path, Loop)メディアソースのファイルパスを設定する
SetColorSourceColor(Name, Color)色を設定する(ABGR int64 形式)
GetCachedInputSettings(Name)ローカルにキャッシュされた設定を取得する(JSON オブジェクト)
GetCachedInputSettingsString(Name)ローカルにキャッシュされた設定を取得する(JSON 文字列)
HasCachedSettings(Name)入力の設定がキャッシュされているか確認する

対応している入力タイプ

入力の種類便利なメソッド設定キー
text_gdiplus_v3SetTextSourceText()text
text_ft2_source_v2SetTextSourceText()text
browser_sourceSetBrowserSourceUrl()url
image_sourceSetImageSourceFile()file
ffmpeg_sourceSetMediaSourceFile()local_file, looping
color_source_v3SetColorSourceColor()color (ABGR)

注: bOverlay=true(デフォルト)を使用すると既存の設定にマージされ、false にするとすべての設定が置き換えられます。

デバイスプロパティ(キャプチャデバイス)

ハードウェア(キャプチャカード、ウェブカメラ、音声デバイス)を使用する入力に対して、InputSettings ハンドラーはデバイスリストプロパティの選択肢を列挙したり、プロパティボタンを「押す」ことができます。これらは GetClient()->GetInputSettings() を通じてアクセスします。

関数説明
GetInputPropertiesListPropertyItems(Input, Property)リストプロパティのアイテムを列挙する(例:video_device_id)。非同期で FOBSPropertyItem とともに OnInputPropertyItemsReceived を発火する
PressInputPropertiesButton(Input, Property)プロパティボタンを「押す」(例:有効化/更新ボタン)。停止したキャプチャデバイスの復旧に便利

エンジン内のデバイスピッカーの構築や、切断されたキャプチャデバイスの再アクティブ化に役立ちます。

// Enumerate the available cameras for a video capture device input.
Subsystem->GetClient()->GetInputSettings()
    ->GetInputPropertiesListPropertyItems(TEXT("Webcam"), TEXT("video_device_id"));

// Re-activate a stalled capture device.
Subsystem->GetClient()->GetInputSettings()
    ->PressInputPropertiesButton(TEXT("Webcam"), TEXT("activate"));

関連項目