すたいるのOBS情報メモブログ

OBS Studioに関する情報を主に投稿

【OBS Studio】 仮想カメラ について

OBS Studio バージョン 26.0 (2020年09月29日リリース) で実装されたWindows向けの仮想カメラ機能に関する情報まとめ記事。
※macOSとLinuxの仮想カメラはバージョン 26.1 (2020年12月15日リリース) で実装されましたが、この記事はWindows版を取り扱います。
記事投稿日 2020年9月2日、最終投稿更新日 2024年03月24日 06時00分頃

仮想カメラ (バーチャルカメラ) とは

Webカメラを使用出来るソフトウェアにOBSの映像を出力することが出来る機能です。

導入方法

バージョン 26.0 以降は標準で搭載されています。
別途プラグインをダウンロードして導入する必要はありません。
※プラグインの場合は「ツール」の中に「Start Virtual Camera」があるタイプです。

仮想カメラ の利用方法

OBS Studio側

仮想カメラを開始する場合
「コントロール」ドックにある「仮想カメラ開始」を押す。

仮想カメラを停止する場合
「コントロール」ドックにある「仮想カメラ停止」を押す。

※メニューバー「ツール」から開ける「VirtualCam」は公式実装の仮想カメラではなく、プラグインの仮想カメラになります。

仮想カメラ を使用するソフトウェア側

「OBS Virtual Camera」を選択する。
※表示されない場合は対応していない可能性があります。
※「OBS-Camera」と表示される場合はこの記事で紹介する公式実装仮想カメラではなくプラグインの仮想カメラです。

こんな時は

仮想カメラ不具合情報

どのバージョンでも

環境により内蔵ウェブカメラが使用できなくなることがあるようです。
情報元↓
OBS Virtual Camera may affect built-in webcams · Issue #3555 · obsproject/obs-studio · GitHub

バージョン 30.1

※この問題はバージョン 30.1.1で修正されます。
OBS新規インストール時にMicrosoft Visual C++ 2015-2022 Redistributable (x86)がインストールされてない環境だと「仮想カメラ開始」が表示されない問題があります。
もしバージョン 30.1.0から更新したくない人は下記よりMicrosoft Visual C++ 2015-2022 Redistributable (x86)をダウンロードしてインストールをしたら再度バージョン 30.1のOBSをインストールすると大丈夫になります。
https://aka.ms/vs/17/release/vc_redist.x86.exe

バージョン 30.0

以下の動作をすると仮想カメラの映像が真っ暗になります。
※大半の人は遭遇しないと思います。
1、「出力の種類」を「プログラム (既定)」から変更
2、「仮想カメラ開始」
3、「シーンコレクション」を変更
4、出力された仮想カメラの映像が真っ暗になる。(一度仮想カメラを停止して再度開始すると治ります)

バージョン 28.1.x系

Webexで仮想カメラが動作しなくなったと直近の仮想カメラの変更にコメントがありました。(Webex使用した事ないので情報だけ)
使えなくてお困りであればバージョン 28.0.3にダウングレードするか2023年1月8日にリリースされたバージョン 29.0以降に更新をお試しください。
virtualcam-module: Don't send frames on initial pause · obsproject/obs-studio@bcb73cb · GitHub

バージョン 28.0.2

※修正版の 28.0.3 がリリースされました。(2022年10月2日)
・特定の設定を使用していると映像が緑色で出力される。
出力 : 仮想カメラ、FFmpeg出力
色空間 : 「sRGB」「Rec. 709」
色範囲 : 「フル(Full)」 (リミテッドに戻すと問題は発生しない)
「設定 → 詳細設定」の「映像」を初期設定から変更した人のみ発生中

バージョン 27.2.2

※修正バージョン 27.2.3 がリリースされました。
Windows版の仮想カメラが正しく表示されないバグがあります。

仮想カメラ開始が表示されない

3つほど「仮想カメラ開始」が表示されない原因があります。

バージョン 30.1を新規インストールした場合

この記事の ここに書いています。

公式版 + Steam版を導入した場合

公式版 + Steam版を導入してSteam版をアンインストールした場合
公式版の「仮想カメラ開始」がSteam版のアンインストールの影響で消えます。
公式サイトより最新版をダウンロードして上書きインストールをするか、公式版のインストール先を開き「data → obs-plugins → win-dshow」にある「virtualcam-install.bat」を右クリックして管理者として実行してください。
※公式版の初期インストール先「C:\Program Files\obs-studio」

zip版を利用している場合

インストーラー版ではなくzip版を利用している場合は表示されません。
※インストーラーを利用している場合は仮想カメラのファイル「obs-virtualcam-module32.dll」と「obs-virtualcam-module64.dll」が自動的にレジストリに登録されますが、zip版の場合は手動でレジストリに登録する必要があります。

OBS Studioのフォルダに付属している「virtualcam-install.bat」を実行する必要があります。
インストール先を開き「data → obs-plugins → win-dshow」にある「virtualcam-install.bat」を右クリックして管理者として実行します。
※逆にアンインストールしたい場合は「data → obs-plugins → win-dshow」にある「virtualcam-uninstall.bat」を右クリックして管理者として実行します。
※公式版の初期インストール先「C:\Program Files\obs-studio」

特定のシーン/ソースのみ出力したい場合

OBS標準機能を使用する場合 (方法 1)

※バージョン 28 以降で利用可能
OBS本体に選択出力機能が実装されました。
「コントロール」ドックの「仮想カメラ開始」右側に「歯車」が追加されました。
歯車を押すと出力する「シーン/ソース」を選択するウィンドウが表示されます。

・選択肢に関して
★バージョン 28.1 以降
・特定のソース出力
※バージョン 28.0で実装予定でしたが、28.0リリース前に問題が発覚して非表示に変更されてバージョン 28.1で再度実装されました。

★バージョン 28.0.3 まで
・今まで通りの「プログラム(番組) 出力」
・「プレビュー出力」※プログラム (番組)は出力されない
・特定のシーン出力

プラグインを使用する場合 (方法 2)

Exeldroさんが作成したプラグインを使用する。
Virtual Cam Filter | OBS Forums
任意のシーン/ソースにフィルタをします。
※フィルタは1つしか適用されないので注意です。
※「仮想カメラ開始」を押す必要はありません。

プラグインを使用する場合 (方法 3)

プラグインタイプの仮想カメラ機能を使う。
フィルタを追加する事で可能なようです。
OBS Virtualcam | OBS Forums
※バージョン 28.0 以降はOBS Virtualcam 2.0.5は下記エラーが表示されます。

以下のOBSプラグイン読み込み失敗しました:
obs-virtualoutput

これらのプラグインを更新または削除してください。

OBS Virtualcam 2.0.5でエラーが表示される人は、対応されたバージョンがあるのでそちらをお試しください。
内容に関してはチェックしてないのでお困りの方は自己責任で。

・バージョン 28 ~ バージョン 29まで
Release obs-virtualcam 3.0.0 · Avasam/obs-virtual-cam · GitHub

・バージョン 29.1以降
Release obs-virtualcam 3.1.0 · Avasam/obs-virtual-cam · GitHub
※バージョン 29.1で3.0.0を導入すると下記ロードエラーで動作しないので、3.1.0をお試しください。

LoadLibrary failed for '../../obs-plugins/64bit/obs-virtualoutput.dll': The specified module could not be found.
(126)
Module '../../obs-plugins/64bit/obs-virtualoutput.dll' not loaded

仮想カメラを削除(無効化)したい場合

・OBS側の「コントロール」部分にある「仮想カメラ開始」ボタン
・アプリケーション側に表示されるカメラ名「OBS Virtual Camera」
この2つを削除(無効化)したい場合は、下記手順に従ってください。
※自分で導入したプラグインの場合は、この方法は使えないので1つ下をご覧ください。
※通常OBS自体をアンインストールしたら仮想カメラも削除されます。

1、OBSを起動していたら終了する。
2、OBSのインストール先を開く
3、「data → obs-plugins → win-dshow」を開く
4、「virtualcam-uninstall.bat」を右クリックして管理者として実行する
5、上記に記載した2つが消えていることを確認する。

プラグイン導入タイプの仮想カメラを削除したい場合

この記事では公式版を取り扱っていますが、もし検索でobs-virtual-cam(プラグイン)のアンインストールを求めてる人の為に記載しておきます。
・OBS側の「ツール」にある「VirtualCam」
・アプリケーション側に表示されるカメラ名「OBS-Camera」
この2つを削除したい場合は、下記手順をしてください。

★インストールしたバージョンを確認
OBS-VirtualCam 2.0.5 (Fenrirバージョン)
OBS-VirtualCam 2.0.4 (CatxFishバージョン)

1、OBSを起動していたら終了する。
2、アプリと機能を開く (開き方↓)

★Windows 11の場合
1、スタートマークを押して「設定」を選択
2、「アプリ」をクリック
3、「アプリと機能」を選択

★Windows 10の場合
1、スタートマークを押して「設定」を選択
2、「アプリ」をクリック

★Windows 8.1の場合
1、スタートマークを右クリックして「コントロールパネル」を選択
2、コントロールパネルで「プログラムのアンインストール」を選択
※表示方法がアイコンの場合は「プログラムと機能」を選択

3、アプリ一覧からどちらかを見つける。
「obs-virtualcam」または「OBS-VirtualCam version 2.0.4」
4、アンインストーラーに従う。
5、消えているか確認。

CatxFishバージョンを手動で導入した場合
OBS-VirtualCam 2.0.4
※もしOBS Studioをアンインストールしていた場合、下記方法は動作しません。プラグインを一度インストールしてアンインストーラーでアンインストールすると削除できると思います。

1、OBSを起動していたら終了する。
2、管理者権限でコマンドプロンプトを起動する。
3、コマンド プロンプトに下記を入力して実行する。
※OBSのインストール先を変更したりした場合はご自身の環境に合わせて変更をしてください。
regsvr32 /u "C:\Program Files (x86)\obs-studio\bin\32bit\obs-virtualsource.dll"
regsvr32 /u "C:\Program Files (x86)\obs-studio\bin\64bit\obs-virtualsource.dll"
regsvr32 /u "C:\Program Files\obs-studio\bin\32bit\obs-virtualsource.dll"
regsvr32 /u "C:\Program Files\obs-studio\bin\64bit\obs-virtualsource.dll"
4、消えているか確認。

自動起動(開始)に関して

コマンドラインオプションを使用する事でOBS Studio起動時に仮想カメラを自動開始することが可能です。
※メニューバー「ツール」から開ける「VirtualCam」で自動開始する方法は公式実装の仮想カメラではなく、プラグインの仮想カメラになるので注意してください。

--startvirtualcam

パラメーター入力方法
1、OBS Studioのショートカットを右クリックしてプロパティを開く
2、上記で説明したコマンドラインを入力する。(下記入力例)

"C:\Program Files\obs-studio\bin\64bit\obs64.exe" --startvirtualcam

3、プロパティを閉じる

自分でビルドした場合に関して

注 : 方法を記載してますが、検証してないです。
公式リリースの仮想カメラとDirectShowリストで競合しないように、各フォークには独自のGUIDが必要なようです。

VirtualCam GUID not set! VirtualCam disabled.
  1. このサイトにアクセスする。
    ※「Uppercase」と「Hyphens」を有効にしてから「Generate」をクリック
  2. 生成されたテキストを cmake変数VIRTUALCAM_GUID に設定する。

補足 : 公式OBSリリースは常に同じGUIDを使用します。

仮想カメラがオフの場合に表示される画像に関して


仮想カメラがオフの場合に表示されるプレースホルダー画像を変更したい場合は下記パスのファイルを作成/置換してください。
必ずファイル名「placeholder.png」にして「PNG形式で1920x1080」にする必要があります。

・Windowsの場合
C:\Program Files\obs-studio\data\obs-plugins\win-dshow

・macOSの場合
~/Library/Application Support/obs-studio/plugin_config/mac-virtualcam/
※バージョン 30.0以降では対応していないようです。(情報元)

・Linuxの場合
サポートされていません。使用していない時、仮想カメラは「オフ」になります

仮想カメラの仕様に関して

遅延に関して

公式実装の仮想カメラはCatxFish作プラグインより映像の遅延が少ないです。

水平反転に関して

OBSの新しい仮想カメラには必要がない為、この水平反転(Flip Horizontal)オプションは付属していません。
チャットアプリケーションなどに表示されるプレビュー映像は、自分には反転して見えます。
ビデオ通話中の他の全員が見る映像は、OBSプレビューに表示されるものと同じです。
検索ワード : 水平反転 / 左右反転 / 反対 / 映像逆

仮想音声出力に関して

現時点では仮想カメラのみの実装です。
仮想カメラのRFC*1に従って、音声は別のタスクであることが決定されました。
決定について詳しくは このページ(英語) をご覧ください。

複数仮想カメラに関して

公式実装では実装されていません。
(多くの人が必要としていない為)
決定について詳しくは このページ(英語) をご覧ください。

検索ワード : 仮想カメラ / バーチャルカメラ / Virtual Camera / Zoom / Teams / Discord /

*1:Request for Comments(リクエスト フォー コメンツ、略称:RFC)はIETF(Internet Engineering Task Force)による技術仕様の保存、公開形式