配信

Macで配信をするということ(その1 / Intel CPU編)

メインPCのOSは長年MacOSを使っている。Windowsは別に嫌いじゃないが、やはりMacOSの方が色々とすっきりしていて良い。ゲーム業界で働いていた頃に会社貸与のPCがWindowsで仕方なく使っていたが、出版業界に移ってからは会社貸与のPCもMacであり、家でも職場でもMac使用率ほぼ100%の状態になっていた。が、しかし、2017年にPUBGというゲームが私の前に現れて、突然ゲーミングPCを買ったくだりは前回書いたところである。

おっさんとPUBG #5ワイの周りのみんながゲーミングPCを購入して、ワイワイPUBGで遊ぶ日々が続きました。それはとても楽しい日々でした。しかしながら、PUBGをプレイし続けるうちにある疑問が浮かび始めました。...

しかし、このPCも買って2年が経過し、PUBG熱も落ち着き、今では埃をかぶっている状態である。毎週の週末にゲーム配信をさせて頂いているが、使用PCはほぼMacでゲーム機(PS5、XBox、レトロゲーム機)の画面を取り込んだ上での配信となっている(Macで動くゲームはかなり少ないですからね・・・)。

実はMacを使ってゲーム配信したいと思っている人は多いのではないかと思っていたりするのだが、参考になるネット上の記事やドキュメントが少ない気がしている。ということで、もし同じようにMacでゲーム配信をしようとする人がいるかもしれない、ということでドキュメントに残すことにする。

ただ、最初に言っておきたいのは「ゲーム配信するならMacOSよりWindowsの方が断然良い」ということ。これからゲーム配信を始めようとする方がこの記事を見てMacを買おうと思うなら「色々面倒なことがあるかもしれない」という覚悟で買うべきだ。すでにMacを持っている人で、配信でもはじめてみようかしら?という気持ちの人には参考になるかもしれない。そんな感じの記事になるかと思う。私の配信はゲームがメインではあるが、今回の記事の内容はゲーム配信に特化した話ではないので、参考になる方は多いと思う。

配信で使用しているMacについて

Macといってもいろいろあるわけで、とりあえず私がメインで使っててゲーム配信でも利用しているMacのスペックを以下に記しておく。

iMac (Retina 5K, 27-inch, 2020)
ディスプレイ 
  • Retina 5Kディスプレイ
  • 27インチ(対角)Retina 5Kディスプレイ、
  • 5,120 x 2,880ピクセル解像度、十億色対応
CPU
  • 3.8GHz 8コア第10世代Intel Core i7(Turbo Boost使用時最大5.0GHz)
メモリ
  • 128GB(32GB x 4)2,666MHz DDR4メモリ
ストレージ
  • 512GB SSD(NVMe)
GPU
  • Radeon Pro 5700 XT(16GB GDDR6メモリ搭載)

これを見て「あまり参考にならねーな」と思う人が多いかもしれない。Macは2020年末からApple Siliconへの移行を開始していて、Intel CPUモデルは今後新しく発売されることもない。かつ、このiMacはカスタムモデルであり、Intel CPU機の中だとスペック的にはかなり高いほうで(おそらくこの上はMac ProとiMac Proくらいしかない)、普通のiMacやMacBook Proなどで配信をしようと思っている方だとそれほど参考にならない可能性がある。とはいえ、まったく参考にならないということもないと思うので、ご自分の環境とのスペックの差を鑑みつつ、記事を読んでいただくといいと思う。

↑のMac以外にもMacBook Pro 2020 13インチ(Core i7、メモリ32GB)も所有しているので、もしこの記事のアクセスが多いようであれば、そちらでも検証してみたいと思う。

実際に配信するとMacはどうなるか?

ということで、実際に行った配信(テスト配信)を元に、Macにどれくらい負荷がかかっていたかなどのデータを見ていただきたい。Mac上で直接ゲームを行わずに、USBキャプチャボードでゲームしている映像をところを取り込んで配信しているスタイルとなる(Mac上ではあまりゲームってしないから、実際にこのパターンの方が多いよね)

負荷チェックのためのテスト配信で、実際の配信ではなく、私の声などは入っていない。ところどころ計測なりキャプチャ画面収集なりで画面が止まっているのは許してください。

Macの負荷に大きく影響しそうな配信設定は以下の通り

基本的な映像出力設定。1920×1080の30フレーム/秒の設定。この画質であれば細かい文字が読めないなどは発生しない。
Twicasへの出力設定。ビットレートは4000Kbps(おそらく音声込みなので実質は3850Kbps程度になると思われる)。エンコーダーに「ハードウェアエンコーダー」を使用する設定にしてある。せっかくGPUが付いてるのだからこれを使わない手はない。Macの一部の機種ではこれを選択できないかもしれないので、その場合はCPUへの負荷がより高まると思われる。
Youtubeにも同時マルチ配信をしている。OBSの録画の先をYoutubeに向けることで同時配信ができる。映像ビットレートは3850Kbps。
USBキャプチャボードのからの取り込み設定。1920×1080の30フレームで配信設定に合わせてある。

なお、このテスト配信は20時14分ころから始めて、20時42分ころに終了した。グラフに時刻が表示されている場合は、この時刻を参照にしてほしい。室温はおそらく23〜24度前後だったと思われる。

CPU(3.8GHz 8コア第10世代Intel Core i7 / Turbo Boost使用時最大5.0GHz)

CPU使用率は配信を始めても25%弱でまったく問題なし。配信せずにOBSを起動しているだけでもCPU使用率は上がる(概ね10%程度)。青はユーザ権限で使用していて、赤はシステム権限で使用している。OBS(ユーザ権限)だけだと概ね10%強程度か?
配信中における各コア/スレッドごとのCPU使用状況。まず分かるのはハイパースレッディングが一切働いてない。単純にコア数分しか稼働していない。あと、コアが右下にいくと徐々に使用率が下がっているので、コア数が増えればリニアに性能が上がるというわけでもない(これも至極一般的な話ではありますが)。各コア100%に張り付くこともなく、CPUはジョギング程度の負荷で涼しい顔をしながら処理をこなしている感じ。

GPU(Radeon Pro 5700 XT / 16GB GDDR6メモリ搭載)

GPUの使用率もCPUに似たような感じ。ハードウェアエンコードは一応効いているということだろうが、こんなもんなのかねぇ。ネットワーク帯域さえ確保できれば4Kでも配信できるんかな?
GPUのメモリ使用率。Radeon Pro 5700 XTはグラフィックメモリ16GBとかなり贅沢仕様なのだが、そこそこメモリは使っている。気になるのは配信続けてると徐々にメモリ使用量が増えている点。まぁ、ゲーム配信してなくてもこんな感じなんですけどね。GPUのメモリの挙動はよく分からんw

メモリ(128GB [32GB x 4] 2,666MHz DDR4メモリ)

青が「固定中」で赤が「使用中」らしい。配信したところでまったく変わらんのだが、そんなもんなのか。128GBと無駄にメモリ積んでるから余裕過ぎて面白みもない。
配信中のメモリ使用量。OBSは1.19GBしか使ってないので、上のグラフで現れないのも当然と言えば当然か。普段の配信でも無駄にPhotoshopとか使わないアプリを立ち上げてるような気もするが、メモリが潤沢すぎてまったく無問題。
スワップのグラフ。当たり前だが常にゼロ。このMacにしてからスワップ発生した記憶はゼロ。

その他のデータ

ロードアベレージ。CPUコア数が8なので、8以下であれば実行待ちプロセスは発生していないと考えてもよいだろう。
各種センサー類。左が配信前で右が配信中。CPUの温度は配信中でも80度ほどで、Intel CPUにはありがちな100度張り付きがない。これは第10世代のComet Lakeになって改善されたからなのだろうか。ちなみにiMac 5K 2017の第7世代CPU(Kaby Lake)時代は配信したらすぐに100度に張り付いてた。配信中はCPUとGPU合わせて170Wほどの電力消費であり、WindowsのゲーミングPCと比べるとかなり少ないと思われる。ファンの回転が2210rpmになって「サー」という音がするようにはなるが、これもiMac 2017と比べるとすごく静かな方。
あまり負荷とは関係ないが、ネットワークの帯域使用状況。赤がアップロードで青がダウンロード。単位がMB/s(メガバイトパーセコンド)なので、Mbpsにすると8Mbpsくらいかな。同時マルチ配信でそれぞれ4Mbpsずつくらい使ってるので、一応は数値通りなのかな。

という感じでだらだらとグラフを出してきたが

なんか見ても面白くないグラフが並んでしまった。Intel CPU最終モデルのiMac 5K 2020だと涼しい顔で配信をこなすので、グラフとしてはほんと面白みがないが、ハード的には1920×1080の30fpsでの配信環境としてはまったく問題がないといえる。Mac上でゲームをして配信するとなるともう少し差し引いて考えないといけなくはなるが、キャプチャ取り込みであればGPUのハードウェアエンコードも効くのでおそらく余裕である。

ただ、これから買うならやっぱりApple M1チップが入ったMacだよねー

2021年5月に発売されたiMac。長年使ってきたIntel CPUと決別して、Apple M1チップを採用した。めちゃくちゃ薄くて軽そうだが、見た目は個人的にはそれほど好きではないかも。実物見たら気持ち変わるかもしれないが。

ということで、実は近々Mac Mini(Apple M1チップ、メモリ16GB)が届くので、こちらでも今回と同じ条件でテスト配信をして負荷を見てみようと思う。ぶっちゃけ、今回のこの面白みのないデータはこれの比較用として出したのものである。もし、このiMacよりも快適に配信できるとなれば、やはりApple M1チップ恐るべし・・・となるけど、果たしてどうなるかな。すごく楽しみである。

2021/06/20 追記:実際に届いてゲーム配信の検証を行った。下記のリンクから見ていただきたい。

Macで配信をするということ(その3 / Apple M1編)その1、その2にてIntel Macにてのゲーム配信に関する記事を書きいた。そしてようやくMac mini M1機でのゲーム配信のテストを行ったので、こちらの結果をその1に近い形で記事にしていきたいと思う。...

また、ソフトや周辺機器についての記事を続きとして書いたので、こちらもご覧頂けると幸いである。

Macで配信をするということ(その2 / ソフト・周辺機器編)今回は配信で使用するソフトや周辺機器を紹介する。Macの場合はWindowsと比較すると対応しているものが少なかったりするので、多少なりとも参考になればいいとは思う。...