Elgato Game Capture HD60 S と OBS を使って、 Google Meet、 Discord で PS4 配信しながらワイワイする

久しぶりにパソコンわからん! となったのでメモ。オンラインで PS4 のゲームしながらワイワイしたかったのと、 Amazon Prime セールで安かったのもあって、 Elgato Game Capture HD60 S 買いました。 Macobook でやってます。

最終的にどういう構成にしたのかというとこんな感じ。

f:id:vkgtaro:20201025115858p:plain
配信時の全体像

YouTube とかに配信するんだったら BlackHole とかは要らない。 OBS で配信設定すればいいだけ。

自分の映像重ねるとかしないのであれば、 PS4 の Share ボタンの設定すれば PS4 単体で完了します。ビデオキャプチャーボードもパソコンもいらない。今回は、パブリックにライブストリーミングするのではなくて、あくまで数人の友達と画面共有して楽しみたいという向きでやっています。( YouTube の配信は delay があるので、 YouTube で配信して友達とのやりとりを Google Meet や Discord でやるとタイムラグを感じる。もしかしたら超低遅延設定とかやるといいのかもしれない)

インストール必要なもの

  • Downloads | elgato.com から、 HD60 SMAC を選ぶと下の二つが出る
    • GAME CAPTURE
      • Find hardware drivers here みたいなリンクがあるが、 Mac では不要
      • 配信時には使わないけど、 HD60 S の設定で必要
    • OBS LINK
  • Open Broadcaster Software®️ | OBS
    • 映像配信ツール。様々な映像ソースや音声ソースをミックスして、配信や録画できる
  • Release OBS-VirtualCam 2.0.4 · CatxFish/obs-virtual-cam · GitHub
    • OBS でミックスした映像を WebCam として配信するのに必要。これがないと Google Meet や Discord で認識されない
    • また、 Google Meet や Discord などは鏡像反転しているのを出す必要があるが、どうも Virtual Camera がこの辺り上手くやってくれてるみたい
    • YouTube とかに配信するのであれば要らない
    • Windows 版の OBS だと VirtualCam 搭載されてるようだけど、 Mac 版はないのでインストールが必要
  • BlackHole: Route Audio Between Apps
    • Mac 用仮想音声デバイス
    • YouTube とかに配信するのであれば要らない
    • 一昔前だと SoundFlower とか使ってたけど、どうも開発が止まっており、そこからフォークして作られたらしい
    • Homebrew が入ってれば、このコマンドでインストール完了する。 brew cask install blackhole

購入必要なもの

これがないと始まらない。繰り返しになるけど、 YouTube で配信したいだけだったら、 PS4 の Share ボタンの設定すればいいので要らない。

HD60 S には USB-C -> USB A なケーブルが付属しているが、 Macbook Pro が USB-C のポートしかないのでこれを噛ませました。 Macbook 付属の USB-C/USB-C のケーブルだと認識はしてくれるものの十分な FPS が確保できない*1ので、付属の太いケーブルを使う必要があります。

HD60 S についてくる HDMI ケーブル短いので必要に応じて必要な長さの HDMI ケーブルを揃えておくと良い。

配信前の事前設定

ここの設定は一度やったら、基本的にはもうやらなくていいはず

PS4 の設定

  • 設定 > システム を開き、 HDCP を有効にする のチェックを外す
    • HDMI の信号を暗号化するもの。これが ☑️ になっているとキャプチャーできない

Elgato Game Capture HD60 S の設定

  • Elgato Game Capture HD60 SMac に繋いだ状態で、 Game Capture HD を立ち上げる
    • 右上の Device 欄に Elgato Game Capture HD60 S の選択肢が出るので選択して、設定ボタンをクリックする
    • f:id:vkgtaro:20201025130819p:plain:w400

f:id:vkgtaro:20201025151155p:plain

  • PS4HDMI を HD60 S の INPUT に、 TV の HDMI を OUTPUT にさして、 PS4 を立ち上げたらその画面がこのアプリに表示されるはず。
  • 設定完了したらこのアプリは閉じる

OBS LINK の設定

  • Mac のメニューバーに OBS Link がいるので、そこで Preferences をクリックする
  • 必要なものがちゃんとインストールできていれば、上二つは ✅ がついているはず

f:id:vkgtaro:20201025131720p:plain

  • Capture Device は HD60 S を mac につなげてないと出てこない

OBS の設定

ゲーム画面を OBS に取り込む
  1. OBS アプリ下部にある ソース のところの + マークをクリック
  2. NDI TM Source を選ぶ
  3. 新規作成を選んだ状態で OK をクリック
    • f:id:vkgtaro:20201025132619p:plain:w400
    • 名前はなんでもいい。自分は Game とした。
  4. Source Name には OBS Link を選択する。(実際には local hostname (OBS Link) という名前で選択肢が出る)
カメラの映像を OBS に取り込む

画面に自分の映像を入れたくなければ、この操作はいらない

  1. OBS アプリ下部にある ソース のところの + マークをクリック
  2. 映像キャプチャデバイス を選ぶ
  3. 新規作成を選んだ状態で OK をクリック
    • 名前はなんでもいい。自分は Camera とした。
  4. デバイス で、 FaceTime HD Camera(built-in) を選ぶ
音声出力の設定

いろいろ探して歩いたけど、 OBS で音声出力をするまともな方法が見つからないので、以下の方法で試した。

  1. Mac のメニューバーから、 OBS > Preferences... を選択
  2. 音声 を選択
  3. 詳細設定 > モニタリングデバイスBlackHole 16ch を選択
  4. 設定画面の最下部 OK をクリック。これを忘れると設定されない

f:id:vkgtaro:20201025133754p:plain

  1. OBS アプリ下部の 音声ミキサー で、設定マークをクリック
    • ここまでの設定で、二つあると思うがどちらでも構わない
    • f:id:vkgtaro:20201025134252p:plain:w400
  2. オーディオ詳細のプロパティを開く
  3. 両方のサウンド音声モニタリング 欄を モニターと出力 にする
    • f:id:vkgtaro:20201025134351p:plain
  4. これで、 BlackHole 16ch にモニターした音声が出力される

配信の準備はこれで完了。

配信時の設定

  1. HD60 S を Mac に繋いだ状態で、 OBS を立ち上げる
  2. OBS のメニュー ツール から Start Virtual Camera をクリックして Virtual Camera を立ち上げる

Google Meets で遊ぶ

  • Audio の設定
    • Speaker にヘッドフォン を選ぶ
      • 自分の場合は beats (Bluetooth) が出ている。ハウリング防止のためにもイヤホンなりヘッドフォンにした方が良い
    • Microphone に BlackHole 16ch を選ぶ
    • f:id:vkgtaro:20201025135824p:plain:w400
  • Video の設定
    • Camera に OBS Virtual Camera を選ぶ
    • f:id:vkgtaro:20201025135858p:plain:w400

Discord で遊ぶ

  • ユーザ設定の画面へ行き、 音声・ビデオ を選択する
  • 音声設定
    • 入力デバイスBlackHole 16ch を選ぶ
    • 出力デバイス に `ヘッドフォンを選ぶ
      • Google Meet の時同様、イヤホンなり、ヘッドフォンにした方がいい
    • f:id:vkgtaro:20201025140207p:plain:w400
    • マイクテストのセクションで、 確認し... みたいなボタンを押して確認する
  • ビデオ設定
    • カメラに OBS Virtual Camera を選ぶ
    • f:id:vkgtaro:20201025140545p:plain:w400
    • ビデオをテスト ボタンを押すと映像の確認ができる

課題

  • なぜかわからないけど、自分の環境でアプリ版の Discord では OBS Virtual Camera が認識されず、ブラウザ版でやっている
  • アプリでやるときには、 Discord の Go Live 機能で、 OBS のアプリを選択してやってる
    • この方法は単純にアプリが表示されているのをキャプチャーして出しているだけ
    • Google Meet で、スライド表示からアプリウインドウ選択しているのと同じ
    • このとき、 OBS では 全画面プロジェクター で出力したのをキャプチャしてやってた
  • OBS から音声渡す方法がこれが適切かどうかわからない
    • BloodBorne で戦闘が激しい時とかに音がぷつぷつ切れてるらしい
  • OBS のプレビュー表示を 30fps から 60fps にする方法がわからない
    • 画面が激しい動きになるとかくついて見えるのは多分これが原因
    • 解決した
      1. NDI Plugin の Output のチェックを外す
      2. Preferences... > 映像 > FPS を 60 に変更

*1:というか、まともに映像でない