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

OBS(Apple Silicon arm64)をビルドする


 せっかくApple Silicon M1チップのMac買ったのでOBSもRosetta 2経由じゃなくてそのまま動かしたいよね。ってことでチャレンジしてみた。
 作り方は後ほど書く。動かした結果を並べて見たら、どうやらRosetta 2で動かすとCPUの使用率は若干高い。メモリ使用率は4倍も高い。やっぱりネイティブで動かした方がいいね。




 2022/2/1 追記 : OBS公式Twitterで27.2以降でApple Siliconサポートとアナウンスがあったので、もう少ししたらこの記事も用済みになるかもね。

作り方。
 注意:次の機能が利用できない。これらはどうにもならない。
  • YouTube, Twitch, Restreamのサービス統合機能が使えない(この機能はOBS開発チームが持つシークレットキーがないと機能有効にならないので仕方がない)
  • x86_64のVSTが認識しない(アーキテクチャが違うのでこれも仕方がない)

Rosetta 2を使わずターミナルを起動

 ターミナルを起動。Rosetta 2使うように設定している場合は設定を解除すること。
 どちらで動いているか分からない場合は

 とコマンドを実行して「arm64」が返ってくればいい。

brewインストール

次のコマンドでbrewをインストール

brewインストール後、念のためにarm64版がインストールされたのか次のコマンドで確認する。

PREFIXが/opt/homebrew
Rosseta 2がfalseになっていればいい。

必要なものをbrewを使ってインストール

Python(64-bit universal2)のインストール

/Library/FrameworksにPython.frameworkがあること。
さらにその中のPythonがarm64対応でないとobspython.soを作る所でエラーが出る。
PythonのダウンロードページからmacOS 64-bit universal2版をダウンロード&インストールすること。

ビルド (2022.4.29更新)


 buildフォルダにOBSのディスクイメージが出来上がるので、それを使ってインストールする。




仮想カメラ

 通常配布されているOBS(x86_64版)をインストールした事がある場合、x86_64版の仮想カメラプラグインがインストールされているため仮想カメラが使えない。
 /Library/CoreMediaIO/Plug-Ins/DAL/
 にある「obs-mac-virtualcam.plugin」を削除して
 build/plugins/mac-virtualcam/src/dal-plugin/
 の中にある「obs-mac-virtualcam.plugin」に置き換えれば使えるようになる。

プラグイン対応

arm64に対応したプラグインであれば、今回のOBSでも使うことができる。
ほとんどはソースが公開されているものなので、自分でビルドすれば使えるものが多い。
以下、いくつかビルド方法例

StreamFX

 2022/04/04更新

spectralizer

 spectralizerが動くか試してみた。
 まずはFFTWをインストール。
 次のコマンドでspectralizerをビルド&インストール。

obs-multi-rtmp

 ビルド済みのものはここにアップロードした。
 ビルド方法は以下のとおり。
2021/10/27更新

obs-ndi

 2021.10.27更新
 libndi.4.dylibというライブラリが必要だが、NDI5が登場後、手に入らない。
 NDI Toolsに入っているlibndi_advanced.dylibが互換性があるのでこれを利用する。
 obs-ndiのビルド方法は次のとおり


obs-websocket

 2021.10.27更新


obs-text-pango

obs-text-pangoが動くか試してみた。次のコマンドでビルドとインストールができた。
arm64版はここにアップロードした。
事前にpangoをインストールしておく必要がある
 obs-text-pangoのビルド方法は次のとおり 2021.10.27更新




source-record


move-transition

ビルド方法は以下のとおり。




Face Tracker


Advanced Scene Switcher






---
覚書
デフォルトのdmgbuildはx86_64のもの?
which dmgbuildで/usr/local/bin/dmgbuildが返ってきたらそうかも。
そのままではx86_64のpythonを要求される。一度消して
pip3 install dmgbuild で入れ直した方がいい。
だいたいどれもpkgが作れるようpkgprojを用意してくれているので
packagesbuild ./installer.pkgproj
とかやるとpkgファイルを作ることができる。
---

気になるニュース