[OBS] マックとiPhoneで筋トレアプリ配信

以前マックとiPhone/iPadを使って、ツイキャスで筋トレのライブ配信をしたいという相談が来たのでここにメモっておきます。

_〆ヾ( ̄(エ) ̄ メ

筋トレアプリを使って配信をどうしてもしたい

相談主さんはどうも普段iPhoneからライブ配信をしているみたのですが、iPhone版の筋トレアプリを使って「ハァハァ」しながら筋トレ中の自分の姿を動画でライブ配信したいと思い立ったそうです。

iPhoneのアプリ画面をマックから配信
iPhoneのアプリ画面をマックで配信: これだと配信者本人の姿をが同じカメラアングルに入れるのが難しい。。。

上の画像は相談主さんがiPhone上の筋トレアプリの画面を近距離でマックのカメラで撮影しながら配信していた時のスクショになります。 このカメラアングルだと、マックは使わずに、iPhoneで「ツイキャスゲームズ」のアプリを使ってスクリーン配信をしても同等の結果が得られそうですが、それは置いておいて、本当はここに筋トレをしている自分の姿も配信画面に取り入れたかったそうです。

詳しい経緯は知りませんが、筋トレアプリの画面無しでiPhoneを見ながら一人で筋トレする自分を配信するのもアレなので、iPhoneをマックの前に固定して、マックの画面に映るアプリ画面を見て筋トレする自分も画面に入るカメラアングルを探していたみたいですが、。。。 そういったアングルは見つからなかった模様です。

実際にそんなアングルを見つけてもカメラのピントがアプリ画面と人物の両方に合うかは謎ですが。。。


iPhoneの筋トレアプリをMacにミラーリングしてOBSで配信

筋トレ配信セットアップ例

iPhone/iPadとマックの組み合わせだと、同期設定をするとiPhone又はiPadの画面をそのままビデオ画像としてマックに取り込む事が比較的簡単に出来るので、OBSのシーンで取り込んだiPhone/iPadの画面と、カメラからの筋トレ風景を組み合わせる事ができます。


1. iPhone/iPadの画像をマックにミラーリング

iPhone/iPadを同期用のケーブルでマックに接続して同期設定をすると、iPhone/iPadの画面がビデオ画像として取り込める様になります。 この場合、デバイスとマックの距離がケーブルの長さに限定されてしまうので、場合によっては延長ケーブルが必要になります。

又、ケーブルで接続した時に、マックのファインダー (👉🍎サポート記事) で繋げたデバイスのオプション「WiFiがオンになっている時にこのiPhone (iPad)を表示」を有効にしておけば、WiFi経由でも接続出来る様に設定出来るみたいですが (👉🍎サポート記事)、WiFiの接続の場合は、ケーブル接続の場合よりもデータの転送量が制限される場合が多いので画像が乱れる可能性もあるかと思います。

次にOBSのシーンにソースとしてiPhone/iPadの画面映像を追加する方法を3種類:

(a) QuickTimeに取り込んで、ウインドウキャプチャとして追加

マックの画面に大きくデバイスの画面を表示したい場合は、まず、マックに標準でインストールされている「QuickTime」を使って、iPhone/iPadの画面をマックに表示する事ができます。 (Quick Time Playerのメニューから「ファイル」>「新規ムービー収録」で表示される録音ボタン (赤い丸) の横の「」マークを押して画面を表示したいiPhone/iPadの名前を選択   👉🍎サポート記事)。

OBSでは、シーンを選んだ後に
ウインドウキャプチャ」ソースを追加した後、プロパティを開いて「ウインドウ」で「QuickTime」を探して選択します。

この方法だと、デバイスの画面を映像としてQuickTime上に表示した後、それをOBSがキャプチャして取り込む事になるので画面の解像度やフレームレート(FPS)の設定によっては映像の質が落ちたりする事もあるみたいです。 画質が気になる場合は次の方法を試してみて下さい。

(b) 映像キャプチャデバイスとして追加

OBSでシーンを選んだ後に
映像キャプチャデバイス」ソースを追加、プロパティを開いて「デバイス」に表示したいiPhone/iPadの名前を指定します。 この方法だとOBSにはiPhone/iPadからの映像として直接取り込まれるので(a)の方法よりは画質が落ちにくいはずです。 iPhone/iPadの画面はOBSのプレビュー画面に、シーンのレイアウトの一部として表示されるので、マックの画面上ではそこまで大きく表示されないかもしれません。

また、この方法だとキャプチャされるのはデバイスのだけで、デバイスからのオーディオは別の方法で取り込む必要があります。 その方法の一つとして、因みに、音声だけを取り込みたい場合は、 QuickTimeの「オーディオ収録」機能を使って、iPhone/iPadからの映像ではなく、オーディオを取り込みます (Quick Time Playerのメニューから「ファイル」>「オーディオ収録」を選択 👉🍎サポート記事)。 (a)の場合と同様に録音ボタン () の横の「」マークを押して「マイク」の欄にリストされる名前から、オーディオを取り込みたいiPhone/iPadの名前を選択すると、iPhone/iPadのオーディオはマックの内蔵スピーカーから再生されます。

この方法は、デバイスの画面をマックの画面上確認する事は特に気にせず、デバイスを手に持って直接操作しながら配信するのに最適だと思います。

(c) AirPlayのウインドウキャプチャとして追加

AirPlayはiPhoneやiPadなどのデバイスからApple TVやAirPlay対応の機器に画像を送って表示させるストリーミング機能 (👉🍎サポート記事) ですが、マック上でも「LonelyScreen (無料トライアル有)」などのAirPlay再生用のアプリを使えば表示させる事が出来ます。

AirPlayのビューワーをマックで使う場合は、OBSのシーンを選んだ後に「 ウインドウキャプチャ」ソースを追加、プロパティを開いて「ウインドウ」でAirPlay再生アプリの名前を選択します。

日常、AirPlayを使ってデバイスの画面を共有している場合は便利な使い方かと思います。


2. OBSのシーンにカメラからの動画を追加

1.で設定したのと同じシーンを選んで、「 映像キャプチャデバイス」ソースを追加、プロパティを開いて「デバイス」にマックのカメラ又は外付けのカメラを指定します。


3. デスクトップ音声の取り込み

この時点ではiPhone/iPadからのオーディオはマックの内蔵スピーカーなり外付けのスピーカーから出力されるので、それをマイクで拾ってOBSで配信しても良いのですが、これだとスピーカーとマイクの性能や、配信をする場所の音の反響などによって音の質が落ちてしまう可能性が考えられます。

一つの解決法としては、「Soundflower」と「LadioCast (作者ブログ)」というフリーソフトを使うと、オーディオ出力をスピーカーやマイクを経由せずにOBSの「デスクトップ音声」に渡す事が出来ます。

Soundflower

Soundflower」はオーディオ仮想デバイスで、本来はオーディオ出力デバイスに送られるデジタルデータを対応アプリで読み込める様にします。 SoundflowerはMacのAppストアに登録されていないので、Githubのサイトからdmgファイルをダウンロードした後に、dmgをダブルクリックで開いて、その中のpkgファイルからインストールする必要があります。

因みに最新バージョンの2.0b2では、インストールされるSoundflower自体にはデジタル署名があるみたいですが、それをインストールするインストーラーにはデジタル署名がないみたいなので、コントロールキーを押しながらpkgファイルをクリックしてインストールを開始する必要があるそうです (👉🍎サポート記事「ID を取得していない開発元から App をインストールする」)。

[追記 ()]: 現在公開中のSondflower-2.0b2は2014年の11月に公開されたバージョンで、SouundflowerのプロジェクトページのReamMeには、M1シリコン搭載のMacには対応していないというコメントも付け加えられています。

別のメモ👉「VB-Cable 仮想オーディオ・ケーブル (Virtual Audio Cable)」で取り上げた、VB-Audio Software社の「VB-CABLE」をSoundflowerの代わりにM1シリコン搭載のmac miniで試してみた処、オーディオ仮想デバイスとして動作したのでVB-CABLEの使用をお勧めします。


関連メモ:『mac版のOBSでBGMやゲーム音を取り込む方法

LadioCast

LadioCast」はオーディオミキサーアプリで複数のオーディオ入力を複数のオーディオ出力に振り分ける事が出来ます。 LadioCastはMacのAppストアに登録されているので比較的簡単にインストール出来ると思います。


使い方

出力をすべてLadioCastに渡す設定

サウンド出力設定例

Soundflowerが無事にインストールされた場合は、Appleメニューの「システム環境設定」内にある「サウンド」のアイコンから開くサウンド設定ウインドウの「出力」ページに「Soundflower (2ch)」と「Soundflower (64ch)」がリストされます。

この「出力」ページでSoundflowerを選択する事で、マックからのオーディオ出力すべてをSoundflowerの仮想デバイス (👈👆の画像ではSoundflower 2chを使用)に渡す様に設定されます。


LadioCastミキサー設定例

LadioCastを起動させると、👈👆の画像にある様に「ミキサー」というタイトルのウインドウが開きます。

ウインドウの左側に入力チャンネル、右側に出力チャンネルが縦に並んでいますが、まずは、入力1に上のサウンド出力で選択した「Soundflower (2ch)」を設定して、他の入力には音声入力用にマイクを選択します。


画像の設定を例にすると、右側の一番上にある「出力メイン」に「Soundflower (64ch)」が設定されています。

左側の一番上にある「入力 1」の下にあるボタンでは、 メインAux 1 の2つが赤文字になっていますが、出力のメインとAux 1が選択されているという意味で、入力 1で選択されている「Soundflower (2ch)」のサウンドが出力メインの「Soundflower (64ch)」と出力Aux 1の「内蔵出力」の両方に渡される事になります。 一方、その下の「入力 2」では「外部マイク」が選択されていて、その下にあるボタンでは、 メイン だけが選択されているので「外部マイク」からの音声は出力メインの「Soundflower (64ch)」だけに渡されます。

この構成を図にすると次の様になります。

ミキサーの構成

因みに、ここで「入力 2」の Aux 1 を選択してしまうと「外部マイク」からの音声が「内蔵出力」に渡されるので、スピーカーが繋がっている場合はハウリングが起きる可能性が大きいのと、ヘッドフォンやイヤフォンでモニターをしている場合は自分の声がフィードバックされるので慣れないと喋りにくいと思います。

最後に、OBSのメニューから「ファイル」>「設定」で開く設定ウインドウの左側にある 「音声」アイコンをクリックして表示されるパネルの「クローバル音声デバイス」の欄にある「マイク音声」にLadioCastで出力メインに設定した「Soundflower (64ch)」を選択すると、マックのオーディオ出力とマイク音声がOBSに入力されます。




コメント