近く機材持ち込みUTで3カメラの映像をミックスしてTeamsに中継することになりそうなので、手持ち機材で追いつくかどうか検証してみました。
■機材説明
PC
2018年購入のDELL XPS 15 2-in-1(9575)で、第8世代のCore i7/定格3.1GHz、4コア8スレッドのCPUに、AMD Radeon Vega Mをオンチップで抱き合わせた8705Gという異色のモデル。メモリが16GB、SSDが1TBという感じ。
ゲーミングPCとまでは行かないまでも、独立GPU(dGPU)がついています。ただしOBS StudioはどちらかといえばNvidia (GeForce)贔屓で、最近ではNvidia Broadcast(音声ノイズ除去)相当のライブラリも搭載するなどして、「ノートでOBS Studio配信するならGeForce RTX搭載モデルだよね」という風潮があります。エンコード処理はCPU単体で回すかdGPUのハードウェア支援を受けられるかでかなり負荷が違うので、どうだろうなーと思っていました。
映像ソース
クライアントが所持するカメラを使用。UVC互換のフルHD Webカメラを3アングル。のでHDMIキャプチャなどは必要なし。そのままOBSの「映像キャプチャ」デバイスとして認識させられるはず。
今回のテストでは同型、同性能のWebカメラが3台手元になかったので、少し古い製品も含めての計測になりました。
- 4K/60pのLogicool BrioをフルHD/30p設定
- 同じくLogicoolのかなり古いWebカメラを864×480/15fps
- XPS内蔵カメラを1280×720/30p
という設定。1920×1080/30pよりやや軽いコンディションになるので、代わりにというかタスクマネージャーのCPUグラフを「ウインドウキャプチャ」で取り込んで配置してみました。
(2021.6.15追記:フルHDx3ソースのテストも結果のところに追記しました)
BRIOはなぜかUSBハブ経由では映らず本体Type-Cポートに直結する必要がありました。ここらへん、当日のカメラでどうなるかわからないのでハブやA->C変換アダプタはいくつか予備をもっていこうと思います。
2021.6.15追記:BrioのハブはXPS9575の左側のThuderbolt3対応ポートにしたらハブ経由でも映像がとれました。
音声ソース
本番でも使う予定のRODE Wireless Go IIをUSB接続。送信機を2台起動しステレオの単一トラックとして入力。
またいつも使用しているNVidia Broadcastのノイズキャンセルが使えないので、代わりにKrispをインストールして試してみました。
設定周り
OBS Studioでのエンコード出力レートは2.5Mbps。また仮想ビデオ機能をオンにして、Teamsのカメラソースに選択し無人のオンライン会議に流した状態で計測を行いました。本番でも自分以外はすべて見学者でカメラ、マイクをオフにする想定なので、おそらくTe
■OBSでハードウェア支援は受けられる?
CPUダイにRadeon Vega Mが統合されているので、obs-media-encoderをインストールすればOBS Studioでハードウェア支援を受けられるかと思いきやメニューの現れず。
ただしIntel側の支援機能である「QuickSync H.264」が出ていたのでそれを使うことに。
■測定結果
結論からいうと「どうにかいけそう」という感じ。OBS上の読みで10%前後、タスクマネージャーによるシステム全体の負荷が50%前後で推移して30分くらいは正常に録画できました。録画したままKrispをインストールしたらOBSが落ちたのでそれはまぁそのせいだと思って一旦計測は終了。本来は90分程度のセッションになるので本番前に一度は回しておきたいところ。
そしてKrisp(CPU演算を使うノイズキャンセラー)を有効にしたところ、システム負荷が+10%といったところです。つまり60%台。一応余裕はあります。
ゲームをしながらOBSで録画/配信をするとなると厳しいですが、そういうメインタスクなしで純粋にエンコードするだけならなんとか賄えそうかなという感想です。各ソースが1080p/30pになったりするとどう変わってくるかですが、一応次のテストではこの構成でいってみようと思います。
あるいはそれまでにAMDのハードウェア支援も試してみたいところ。
追記:結局OBSでAMDのハードウェア支援(VCE)を有効にできてはいませんが、代わりにXSplit Broadcasterを使って同じフルHDx3ストリームで録画しながら仮想カメラ機能でTeams配信を行ってみたところ、システム全体のCPU使用率は50~60%の微増。かつ同時にブラウザを起動すると100%になりがちとなりました。警告ダイアログも出ました。OBS使用中でも同じ様に跳ね上がるものの80~90%台に収まる感じ。XSplitでは明示的にCPU/Intel QuickSyncVideo/AMD VCEの使い分けを指定できるので、QSVに固定してみても傾向はかわらず。XSplit自体の重さなんでしょうか。エフェクトなどは充実していてちょっと使ってみたいとも思ったんですが、今回の案件ではちょっと厳しいかな。余裕のあるリモート調査(デスクトップPCが使える時)などに試してみようと思います。
フルHD x3入力で追試
Brio、ATEM Mini Pro、AverMedia BU110を組み合わせて本番に近いフルHDの3入力体勢を組んで追試しました。結果は大差なし。むしろ下がったくらいで40%前後(タスクマネージャー読み)で録画&Teams配信できました。またソースをON/OFFしたり、入力解像度をフルHDと720pで切り替えたりしてもさほど変わらなかったことから、「入力ソース解像度に寄らず、レンダリング後の出力映像のエンコード負荷が大半を占める」ということが言えそうです。もちろんソースをOFFにする毎に僅かずつCPU負荷は下がっていくんですが、全部OFFにしてタスクマネージャーの画面キャプチャのみにしても30%台のままで、1ソース辺りの負荷は2,3%の誤差という感触でした。
OBS Studioでの録画(H.264変換)と、仮想カメラ機能を経由してTeamsがエンコードしてるのと同じ映像を2ストリームで変換してる気がしますが、どちらもハードウェアエンコードが効いているんでしょうかね。
■もしダメだったら…
近日中に予定されている接続テストで本番通りのセットアップをして検証する予定ですが、もし負荷が厳しそうとなったら、この辺りのeGPU箱を買って、自宅メイン機のRTX3070を一時的に付け替えてみようかと思っています。幸いXPS 9575はThunderbolt3に対応しています。これならばRTX Broadcastも使えた上でかなり余裕ができるんじゃないかと。
内蔵Radeonがある状態できちんと動いてくれればいいんですが、、、
もう少し安い3万円台のものもあるし、Chromaの光る要素とかは別にいらないですがw、USB3.1のAポートが4つと、Ethernetポートがついているので、ごちゃつきがちな出張荷物、配線を多少でもスッキリさせられるならこれでいっかなと思っています。
あるいはDSP内蔵オーディオインターフェイスのUA AppoloシリーズにC Suice C-Vox Noise & Ambience Reductionというノイキャンプラグインが出ていて気になっています。
これはプラグインソフトウェアをDSPで動かしPC側に負荷をかけないで音声フィルターをかけられる製品らしいのです。ただプラグインだけでも$300以上するし、ハードもDSPコア数が1つのもっとも安いものでも数万円。あわせると結構なお値段だし、そもそもこのプラグインが1DSPモデルでちゃんと動くかどうかもよくわからず手を出しあぐねています。自宅で使う分にはRTX3070 + NVidia Broadcastで特に不満がないので悩ましいです。
むしろ今後少しずつ会場実査が戻ってくるならばノート向けRTXグラフィックが載ったPCに買い換えるのが一番いいかなと思いいます。ちょうどRazerのBlade 14の新モデルが海外で発表され、中モデルが$2,200なら日本はいくらよ、、とドキドキしています。
■画面共有かカメラ映像か?
OBS Studioに「仮想カメラ」機能があるため、ついTeamsやZoomでは参加者カメラの映像として送信しがちですが、本当にそれがベストかはケースバイケースだと思います。まずZoomは基本的にカメラ映像が720pになる模様。法人ライセンスの場合は申請すれば1080p封印が解かれるらしいですが、それが難し場合は画面共有を使ってOBS Studioの画面なしろキャプチャした方が綺麗な可能性もあります。
Teamsの場合はネットワーク速度に応じて自動調整されてしまいますが、一応1080pが最初から使えるようです。
■Krisp所感
ついでにはじめて使ってみたKrispの感想をNvidia Broadcast(以下NB)と比べて。ぶっちゃけNBの方が品質は高いです。ノイズキャンセル力は甲乙つけがたいですが、フィルターをすり抜けた人の声がNBの方が自然で違和感がない。Krispのはよく聞くと人の声の中にノイズのようなクリップのようなザリザリ感があります。会場でどうにも外来ノイズが酷いようなら検討しますが、いまのところお金を払ってまで使いたいクオリティじゃないなというのが正直な感想です。
■まとめ
eGPUボックス買ったり、自宅デスクトップからRTX3070を付け外ししたりはしんどいなと思ってましたが、今回はCPUが100%に貼り付くみたいなギリギリ感はなくなんとか乗り切れそうな気がして一安心です。でもまぁファンはずっとシューシュー言い続ける状態だし、より静かに安定して実査録画ができるならeGPUボックス導入してしまうのもアリかなぁと思わなくもないです。ただIntel、AMD、NVidiaのグラボが混在してしまう状態になって、まともにOBS Studioが動いてくれるかって面も不安でいまいち思い切れないというところ。