[OBS] 仮想カメラ (前編)

OBS仮想カメラ (OBS Virtual Cam: OBSバーチャルキャム)」というOBS用のプラグインを使うと、OBSからの出力をカメラからの画像としてZoomやSkypeといった他のアプリで使う事ができます。

バージョン26以降のWindows版のOBSでは仮想カメラが標準機能になっていますが、Linux版とマック版のOBSと、バージョン25以前のWindows版OBSの場合はOBSの追加機能として「OBS仮想カメラ・プラグイン」を別にインストールする必要があります。 

※: にリリースされたOBS v26.0から、Windows版のOBSでは仮想カメラが標準機能になったので内容を一部変更しました。()

OBS v26.1からはWindows/macOS/Linux版のOBSで仮想カメラが標準機能になっています。

OBS仮想カメラでOBSの画像で通話

(: このプラグインが扱えるのは、ごく一部のアプリを除いて、画像だけに限定されるそうで、音声はOBSを使わずにマイクから直接アプリに入力するなどと別の方法で設定する必要があります。👉「OBSの音声出力を他のアプリへ渡す方法 (音声モニタリング)」)



Linuxとマックのサポートは?

OBS仮想カメラ2.0.5のプロジェクトページの説明(英文)によると、Linuxの場合は「obs-v4l2skin
というプラグインを「v4loopback」と一緒に使うとOBS仮想カメラと同等の事が出来るみたいです。 マックの場合は「obs-mac-virtualcam」という同等のプラグインが開発されているみたいです。 でも、残念ながら、まだ開発&テスト中で、正式リリースまでにはたどり着いてはいないみたいですがある程度使える様です。

追記 ()

OBS公式アカウントのツイートによるとOBSバージョン26.1からMacOSとLinuxで仮想カメラが正式サポートされるみたいで、現在、「OBS バージョン26.1リリース候補 RC-1」が
Githubで公開されています。

追々記

OBS v26.1からはWindows/macOS/Linux版のOBSで仮想カメラが標準機能になっています。


OBS仮想カメラ (Windows版)

このウインドウズ版の仮想カメラだと、OBSからの画像と音をマイクロソフトのDirectShowのストリームとして出力するという仕様らしいので、画像を取り込みたいアプリがDirectShowに対応していれば問題無いみたいです。

使い方の1例としては、Zoom、SkypeやLINEといった通信アプリで、この仮想カメラのプラグインを使えば、通信内容をOBSのシーン上で操作する事ができます。 なので、テロップを付け加えたり、カメラの代わりに動画を流したり、スマホの画面を取り込んでみたりと、普段OBS上で出来る画像配信が仮想カメラに対応しているビデオ配信/通信アプリで可能になります。


Windows版 OBS仮想カメラ・プラグイン

: 仮想カメラプラグインはにリリースされたバージョン28以降のOBSには対応していません。

バージョン25以前のWindows版OBSは「OBS仮想カメラ・プラグイン」を追加機能としてOBSにインストールする必要があります。 (バージョン26.1以降のOBSではWindows/macOS/Linux版で仮想カメラが標準でサポートされているのでプラグインのインストールの必要はありません。)

では、OBS仮想カメラ・プラグインの最新バージョンは リリースの2.0.5ですが、現時点ではネット検索の検索結果の上位にバージョン2.04が表示されるのですが、2.0.4はバージョン25以上のOBSには対応していない様なので気を付けましょう。

因みに、OBSバージョン25でバージョン2.0.5のプラグインのダウンロードとインストールについては以前のメモを参照:

👉[OBS] 仮想カメラ プラグイン 2.0.5 (Windows版)

追記 ()

近日公開予定のウインドウズ版のOBSバージョン26では仮想カメラプが標準でサポートされてインストールが不要になるみたいです (👉「OBS バージョン26.0リリース候補RC-1」が公開されました)。 これでmac版の仮想カメラプラグインの開発がもっと活発になる可能性もありますね。

追記 ()

OBS v26.0が29/Spe/2020に正式リリースされたので、バージョン26.0以降のWindows版のOBSで仮想カメラ・プラグインのインストールが不要になりました。


使い方 (Windows版 OBS26.0+、macOS/Linux版 OBS26.1+)

1. OBSを起動して仮想カメラをスタート

メイン画面のコントロール・パネル

Windows版のOBS 26.0、macOS/Linux版 OBS26.1以降からは仮想カメラの起動/停止はメイン画面のコントロール・パネルで操作出来る様になっています。

[注] 仮想カメラを起動するとメニューの「プロファイル」が選択出来なくなるので、配信の解像度や映像設定を変更したい場合は仮想カメラを一度停止させる必要があります。


2. アプリを起動してOBS-Cameraをカメラとして選択

仮想カメラを使うアプリを開きます。 アプリが使うカメラとして仮想カメラが選択されていない場合は、アプリの設定画面でカメラを「OBS Virtual Camera」に変更します。

以前のバージョンでは仮想カメラは「OBS-Camera」という名前で表示されましたが、Windows版 OBS 26.0、macOS/Linux版 OBS26.1からは仮想カメラは「OBS Virtual Camera」という名前で表示される様になっています。


使い方 (Windows版 OBS 25)

1. OBSを起動して仮想カメラをスタート

OBS仮想カメラの起動
「VirtualCam」ウインドウ

OBSを起動して、メニューから「ツール (Tool)」 > 「VirtualCam」と選択して、「VirtualCam」という名前の設定ウインドウを開きます。

Start」ボタンを押して仮想カメラをスタートさせますが、問題なく仮想カメラが起動した場合は「Start」ボタンが無効になって、「Stop」ボタンが有効に切り替わります。

仮想カメラを終了させたい場合は「Stop」ボタンを押します。


仮想カメラをスタートさせた後、このウインドウは閉じても問題はない様です。


2. アプリを起動してOBS-Cameraをカメラとして選択

カメラ選択の例 (PC版LINE)

次に、仮想カメラを使うアプリを開きます。

アプリが使うカメラに仮想カメラが選択されていない場合は、アプリの設定画面でカメラを「OBS-Camera」に変更します。


仮想カメラのオプション (Windows版 OBS 25)

OBSのメニューから開く「VirtualCam」ウインドウにある仮想カメラのオプションについていくつか次に:


自動スタート (AutoStart)

毎回、この設定ウインドウを開いて仮想カメラを起動させる操作が面倒だという場合は、「VirtualCam」ウインドウにあるオプションの「AutoStart」を有効にするとOBS起動時に仮想カメラが自動的に起動させる事ができます。

仮想カメラを使う目的だけでOBSを使うのであればこのオプションは便利だと思いますが、他の目的でOBSを使う場合、必要のない時でも仮想カメラが起動したままになる可能性もあるので個人的にはCPUの負担を増やさない為にも手動で操作した方が良いかと思います。

追記 ()

仮想カメラの起動中は、OBSの「設定」ウインドウの「出力」パネル上の設定の変更が出来なくなるので、この自動スタート(AutoStart)を有効にしている場合に、出力の設定を変更する必要がある場合は、まず仮想カメラを停止する必要があります。 (参考: OBSフォーラム 26.0rc1のスレより (英文))


水平反転 (Horizontal Flip)

現在の処、バージョン2.0.5では、「Horizontal Flip」のオプションは、有効にするとプラグインなりアプリが落ちてしまう不都合があるそうで、現時点では、このオプションは無効にしたままで、水平反転が必要な場合はOBSのシーンか、仮想カメラの出力を使うアプリ側で反転する必要があります。


バファー (Buffered Frames)

仮想カメラの画像がコマ落ちしたり、カクカクする場合は、「Buffered Frames」の数値を増やすと改善される場合があります。


備考

備考1: 仮想カメラの画素サイズ

仮想カメラの画素サイズは、OBSと仮想カメラを使うアプリを開く順番に左右されるそうで、OBSを先に起動させるとOBSで設定されている画素数とFPS (フレーム・レート) が仮想カメラに設定されるみたいですが、OBSを開く前に仮想カメラを使うアプリを開くと既定値の1920x1080 30fpsに設定されるそうです。

(ソース: OBSフォーラム - OBS Virtualcam 2.0.5 「Why are the resolution and framerate sometimes not the same as my OBS output settings?」 )


備考2: OBSからの音 (オーディオ)

このプラグインは、OBSからの画像とオーディオ(音)の両方を、各々「OBS-Camera」と「OBS-Audio」という名前でDirectShowのストリームとして出力しているそうです。

DirectShowはWindow98時代のDirectXで頻繁に使われていたフォーマットで、現在でも、DirectShowからの映像を(カメラ)入力として扱えるウインドウズのアプリが割と多くあるみたいですが、DirectShowのオーディオ入力の方は対応しているアプリは限られているみたいです。

通話アプリではありませんが、VideoLAN社のビデオファイルの編集や配信も可能なメディアプレーヤー、
VLCメディアプレーヤー」がDirectShowの画像とオーディオの両方に対応と聞いたので、試しにVLCメディアプレーヤー (バージョン3.0.3)で確認した処、画像の他に、「OBS-Audio」という名前でOBSからのオーディオも取り込んで動画として保存する事が出来ました。


しかし、最近のアプリではDirectShowのオーディオ入力に対応したアプリが少ないらしいので、画像は仮想カメラで取り込んでも、オーディオの方は仮想カメラ・プラグインからのオーディオを使うのではなく、アプリの設定でマイクから直接入力するなり、オーディオ出力を入力に切り替えれる機材を使うなど、別の方法を使う必要があります。

因みに、最近のWindowsはDirectShowからMedia Foundationというフォーマットに徐々に移行しているので、新しいWindowsのアプリでは、Windows 10で標準でプリインストールされている「カメラ(Camera)」や「Skype(※)」アプリの様に、DirectShowに非対応のアプリもいくつかある様です。 (※:プリインストール版でなく、デスクトップ用のSkypeはDirectShowに対応しています。)


[追記]

仮想カメラの「OBS-Audio」を使わずに、OBSの音声モニタリング機能を使うとOBSの音声ミキサー経由のオーディオ出力と同じストリームを指定のオーディオ・デバイスに送る事が出来ます。 なので、この機能を使ってOBSのオーディオ出力を他のアプリに取り込む事が可能になります 👉「OBSの音声出力を他のアプリへ渡す方法 (音声モニタリング)」参照。




コメント