トラックファミリー
このプラグインは四つのトラックパラダイムを提供します。Event Trigger トラックは個別のアクションを発火するもので、アクションリファレンスで説明しています。このページでは残りの三つ(Keyframeable、Continuous State、Media Sync)と、共通のトラックアーキテクチャおよびセクションタイプについて説明します。
トラックアーキテクチャ
| パラダイム | 動作 | ユースケース |
|---|---|---|
| Event Trigger | 再生ヘッドがセクション開始点を通過したときにアクションを発火 | 個別のコマンド(StartRecord、SwitchScene、SaveReplay) |
| Keyframeable | カーブエディタのキーフレームを介して値を補間 | スムーズなアニメーション(音量フェード、トランスフォームの動き、カラーシフト) |
| Continuous State | 再生ヘッドがセクション内にある間、状態を適用 | 一時的な上書き(セクション中のミュート、強制表示、トランジションの保持) |
| Media Sync | OBS のメディアカーソルがシーケンサーのタイムラインに追従 | 同期された映像再生、スクラブによるメディアシーク |
Keyframeable プロパティトラック
Event Trigger に加えて、このプラグインは OBS プロパティをスムーズに補間するための Keyframeable Track をサポートしています。
| トラックタイプ | プロパティ | ユースケース |
|---|---|---|
| OBS Volume | 音量(dB) | 音声フェード、ダッキング、スムーズなレベル変更 |
| OBS Balance | バランス(0.0~1.0) | ステレオパニング、左右の位置調整、没入感のある音声 |
| OBS Transform | 位置 X/Y、スケール X/Y、回転、クロップ L/T/R/B | ソースのアニメーション、ピクチャーインピクチャー、クロップのリビール |
| OBS Filter Setting | 任意の数値フィルタープロパティ | ブラー、カラーコレクション、クロマキーのしきい値のアニメーション |
| OBS Transition Duration | 時間(ms) | ダイナミックなトランジションタイミング、ドラマチックなシーン転換 |
| OBS Color Source | RGBA(チャンネルごとに 0.0~1.0) | アニメーション付き背景、カラーウォッシュ、ムードライティング |
| OBS Media Cursor | カーソル位置(ms) | タイムライン同期、特定の瞬間へのメディアスクラブ |
主な機能
- Unreal のネイティブなカーブエディタをキーフレーム補間に使用します。
- 差分しきい値により OBS へのスパムを防止します(値が大きく変化したときのみ送信します)。
- 再生停止時の事前アニメーション状態の復元。
- トラックごとのターゲット選択(音量/バランスには入力名、トランスフォームにはシーン+ソース)。
注意: ターゲット(例:
InputName)はトラックに設定するものであり、セクションには設定しません。そのため、Keyframeable Track 上のすべてのセクションは同じ入力/ソースをターゲットとします。
差分しきい値
各プロパティには、応答性とネットワーク効率のバランスを取るために調整されたしきい値があります。
| プロパティ | しきい値 | 理由 |
|---|---|---|
| 音量 | 0.1 dB | 人間の聴覚は 0.5 dB 未満の変化をほとんど感知できない |
| バランス | 0.005 | 範囲が狭い(0.0~1.0)ため、スムーズなパニングには細かい精度が必要 |
| 位置 | 0.5 px | サブピクセルの変化はほとんどのディスプレイで見えない |
| スケール | 0.001 | OBS 内部の精度に合わせている |
| 回転 | 0.1° | サブ度の変化は知覚できない |
| クロップ | 1 px | 整数ピクセル単位。OBS ではサブピクセルのクロップはない |
| フィルター設定 | 0.01 | フィルター設定は繊細な場合があるため、精度のためにしきい値を小さく設定 |
| トランジション時間 | 10 ms | 時間の変化は離散的なステップで UI に表示される |
| カラーチャンネル | 0.004 | 約 1/255。8 ビットカラーで見える最小の変化 |
| メディアカーソル | 16 ms | 60fps で約 1 フレーム。知覚できないジャンプ |
トラック設定
| 設定 | デフォルト | 説明 |
|---|---|---|
bRestoreStateOnStop | true | シーケンスが停止したときに元の OBS の値を復元する |
bMuted | false | キーフレームを削除せずにトラックを無効化する |
OBS Filter Setting Track
Filter Setting トラックは汎用的な実装で、任意の数値フィルター設定をアニメーションできます。
| トラックプロパティ | 説明 |
|---|---|
SourceName | フィルターを持つ OBS ソース(例: “Camera”) |
FilterName | フィルターインスタンス名(例: “Color Correction”) |
FilterKind | 任意。バリデーションヒントを有効にする(例: “color_filter”) |
SettingName | アニメーションする JSON キー(例: “brightness”) |
UI ヒント付きの既知のフィルター設定:
- color_filter: brightness, contrast, saturation, gamma, hue_shift, opacity
- chroma_key_filter: similarity, smoothness, spill, opacity
- color_key_filter: similarity, smoothness, opacity
- sharpness_filter: sharpness
- scroll_filter: speed_x, speed_y
- gain_filter: db
- compressor_filter: ratio, threshold, attack_time, release_time, output_gain
- limiter_filter: threshold, release_time
- noise_suppress_filter: suppress_level
- three_band_eq_filter: low_gain, mid_gain, high_gain
未知の設定でも動作します。トラックは任意の JSON キー名を受け付けます。
OBS Transition Duration Track
現在のトランジションの時間(50 ~ 20000 ms)をアニメーションします。常に現在アクティブなトランジションに影響するため、ターゲットの設定は不要です。
注意: カットのような固定時間のトランジションは時間を変更できません。トラックはこの場合を警告ログと共に適切に処理します。
Continuous State トラック
Continuous State トラックは、再生ヘッドがセクション内にある間、固定の状態を適用します。セクション自体にはキーフレームがなく、セクションの存在そのものがトリガーです。元の状態はセクション開始時にキャプチャされ、終了時に復元されます。
| トラックタイプ | ターゲット | 適用される状態 | ユースケース |
|---|---|---|---|
| OBS Mute State | 音声入力 | ミュート/ミュート解除 | カットシーン中にマイクを消音、ボイスオーバー用にゲーム音声をミュート |
| OBS Monitor Type State | 音声入力 | モニタリング種別(None/MonitorOnly/MonitorAndOutput) | 特定のセグメント中にモニタリングを有効化 |
| OBS Visibility State | シーン+シーンアイテム | 表示/非表示 | イントロ中にオーバーレイを表示、特定のショットでウォーターマークを非表示 |
| OBS Lock State | シーン+シーンアイテム | ロック/アンロック | ライブセグメント中の誤操作による移動を防止 |
| OBS Blend Mode State | シーン+シーンアイテム | ブレンドモード(Normal/Additive/など) | トランジション中にエフェクトを適用 |
| OBS Filter Enabled State | ソース+フィルター | 有効/無効 | シーントランジション中にブラーを有効化、カラーコレクションの切り替え |
| OBS Studio Mode State | グローバル | 有効/無効 | プレビューセグメント用にスタジオモードを有効化 |
| OBS Transition State | トランジション名 | 特定のトランジションを強制 | 特定のシーン切り替えにスティンガートランジションを使用 |
Keyframeable との主な違い
- カーブエディタなし: セクションは「オン」か「オフ」のどちらか。
- 状態はバイナリ(トラックで設定した値と元の値)。
- オン/オフ動作のセットアップがより簡単。
- 事前アニメーション状態の復元は自動的に行われます。
Media Sync Track
Media Sync Track は OBS のメディアソース(VLC、Media Source)をシーケンサーのタイムラインと同期します。他のトラックとは異なり、再生状態とカーソル位置の両方を能動的に制御します。
トラックプロパティ
| プロパティ | デフォルト | 説明 |
|---|---|---|
InputName | (必須) | 制御する OBS メディア入力 |
bRestoreStateOnStop | true | シーケンスが停止したときに元のメディア状態を復元する |
bRestoreCursorPosition | true | シーケンスが停止したときに元のカーソル位置を復元する |
bMuted | false | トラックを削除せずに同期を無効化する |
セクションプロパティ
| プロパティ | デフォルト | 説明 |
|---|---|---|
StartTimeOffsetMs | 0 | セクション開始時のメディアへのオフセット(例: 5000 = 動画の 5 秒目から開始) |
bControlPlayback | true | シーケンサーの再生/一時停止が OBS の再生/一時停止を制御する |
bSyncOnScrub | true | タイムラインのスクラブが OBS メディアをシークする |
bLooping | false | セクションがメディアの長さより長い場合にメディアをループする |
ExitBehavior | Pause | セクション終了時の動作(Pause/Stop/Continue) |
同期の動作
- シーケンサーが再生 → OBS メディアが再生されます。
- シーケンサーが一時停止 → OBS メディアが一時停止されます。
- スクラブ時 → OBS メディアが対応する位置にシークされます。
- ドリフト補正が再生中にメディアの同期を自動的に維持します。
使用例
- 背景映像をゲームシーケンスと同期する。
- タイムラインの正確な位置でイントロ動画を再生する。
- 編集中に動画をスクラブして適切な場面を見つける。
セクションタイプ
アクションにはそれぞれ異なるトリガー動作があります。
| タイプ | 動作 | 例 |
|---|---|---|
| Instant | 再生ヘッドがセクション開始点を通過したときに一度だけ発火 | StartRecord、SaveReplayBuffer、SplitRecordFile、SaveScreenshot |
| State | 開始時に発火し、終了時にオプションで元に戻すことができる | SwitchScene、MuteInput、SetVolume |
State タイプのセクションが終了時にどのように元に戻るかについては、高度なトピック → 終了アクション を参照してください。