このエントリーをはてなブックマークに追加

macOSでのライブ配信環境の課題や今後をつぶやいてみる

2022年2月24日作成、2022年6月8日更新 

2022年、macOSでのライブ配信環境は大きく変わると思う。
 その前にMacのライブ配信環境の課題を書こうと思う。これは私個人的に感じていることであって、誤りがあるかもしれない。
 課題を1から5まで挙げる。上から重要度が高いと感じている。
  1. 何をするにも動作が重たい

  2. システム音声をキャプチャできない問題
    Macで鳴っている音声を音声ソースとして指定できない。Windowsならできる。この影響でゲーム音やDTMの音を配信にのせることが容易ではない。

  3. ウインドウキャプチャ、アプリケーションの画面キャプチャ、カーソルキャプチャに関するAPI不足
    現状のウインドウキャプチャはスクリーンショットを高速で撮っているようなもので、CPU使用率は高く、動き滑らかにキャプチャできていない。Windowsのようにオーバーヘッド少なくキャプチャできる方法がない。

  4. 品質のいいハードウエアエンコードが少ない
    現状VideoToolboxに頼るしかない。

  5. Macに対応しているデバイスが少ない
    今に始まったことではないがこれもよく言われいてる。

 課題を挙げたところで、今後解決できそうなものか見ていきたいと思う。
 2022年6月8日追記、結構状況が変わってきた。
  1. 何をするにも重たい問題について
    今後解決するだろう
    今までMacは何十万もする高価なモデルを選ばないと快適に配信できるものにならなかった。だが、2020年にApple Silicon搭載のMacが登場し、これまでのMacより格段に性能があがった。しかしソフトウェア側が対応できていないものが多く、その性能が活かせていない場面がまだ多い。 OBSもそんなソフトウェアの一つ。今も公式リリースされているものはIntel(x86_64)バイナリであり、Rosetta2を通して動くものなのでAppleSiliconの性能が活かせていない。
    そんな中、OBSProjectから27.2以降でApple Siliconをサポートするとアナウンスがあった他にも問題はあるが、Apple SiliconのMacであれば少しは快適な環境へなるだろう。
    2022年6月8日追記
    6月上旬から中旬にOBSStudio28のベータサイクルに入る予定、8月末頃に完全リリース予定。

  2. システム音声をキャプチャできない問題について
    まだまだ解決はしないだろう
    この問題に関して、多くのMacユーザはLoopbackやBlackholeといった仮想オーディオを使って解決していると思うが、これはまだまだ続きそう。Mac版Discordの画面共有では画面だけでなく音声も上手く共有しているが、これはLoopbackを作っている会社、Rogue AmoebaのACE(Audio Capture Engine)を取り入れているからだ。OBSがDiscordと同じくACEを採用してくれるか、macOSが同じようなことができるAPI/Frameworkを導入してくれるかがないと解決することはないと思う。

    2022年6月8日追記
    今後解決するだろう
    macOS13のScreenCaptureKitでは音もキャプチャできるようになっており既にAppleがOBSでこの機能が使えるプルリクエストを提出している。
    アプリケーションのウインドウをキャプチャしたら、そのアプリの音も一緒にキャプチャできるというもの。Windows版OBSでいう、ウインドウキャプチャ・ゲームキャプチャ+win-capture-audioが一緒になったものがMacでも使える。ただしOSをmacOS13以上にする必要がある。

  3. ウインドウキャプチャに関するAPI不足について
    今後解決するだろう
    この問題にも長い間Macユーザーは悩まされていたが、macOS12.3でScreenCaptureKitが追加されることになった。さらにはこれを使ったキャプチャに機能をOBSに追加するプルリクエストもAppleから出ている。ただし、OSをmacOS12.3以上にする必要がある。

  4. 品質のいいハードウエアエンコードが少ない問題について
    一般的な配信なら既に解決してるかな
    MacはWindowsやLinuxと違って他社のハードウェアエンコーダが利用できない。例えばNVIDIAのNVENCやAMDのAMFは使うことができない。詳しい事情は分からないが、それぞれの会社からmacOS用のSDKが提供されていないので実装しようがない。
    となると、Apple VideoToolboxに頼るしかない。このVideoToolboxもH264でFHD(1920x1080)/60Pをリアルタイムにハードウェアエンコードするくらいなら十分働いてくれるので問題ないように思う。

  5. Macに対応しているデバイスが少ない
    これはもう仕方がない。祈るしかない。
    世の中いろんなデバイスがあるが、Macに対応しているものは比較的少ない。
    macOS用ドライバを作ってMacでも使えるデバイスを提供してくれるメーカーもあるが、macOSのメジャーバージョンアップで使えなくなることもある。
    UVC/UACのように規格化されており、特別なドライバが必要ないデバイスもあるが、これに関してもmacOSのメジャーバージョンアップで使えなくなることがある
    このようにOS側の仕様変更で使えなくなることがあるのでサポートする側は大変。これと同様のことは他OSにもあるが、macOSは頻度が多いように感じる。

    ただ、確かに比較的少ないが、そんなに困るほどではない気がするが・・・。