配信中を家族に知らせるランプを作る~OBS Studio、IFTTT、SwitchBot連携

Pocket

世の中、テレワークが増えて、会議中に家族が部屋に入ってこないように知らせるいわゆるON AIRライトが欲しいとずっと思っていました。しかも廊下まで行って手動でON/OFFする必要があると面倒だし絶対忘れまる。実際には会議終わってるのにライトは点きっぱなし、とかいうことに絶対なる。

自分はZoomとかTeams、Meetとクライアントによって色々使うので、汎用的に使用中を検知する方法はまだ思いついてないんですが、とりあえず家族がたまにやるOBS Studioを使った配信ならいけそうな方法を見つけました。(別記事にまとめました)

自分はライブ配信はしないですが、収録には使うので、同様に録画開始/停止をトリガにすれば、「収録中入室禁止」のランプにはなりそうですね。ただ自室の廊下付近に電源を取れる場所がないので、それは別途解決せねばなりません。

ということで、今回は家族の配信部屋前に設置する「配信中」ランプを作ってみます。

座組としては、

  • SwitchBotのLEDテープで光るランプを作る
  • IFTTTのWebHooks(所定のURLにアクセスしてトリガ)からSwitchBot製品を制御
  • OBS StudioのLUAスクリプト配信開始/終了時に上記WebHookのURLを叩く

という流れ。これで完全自動になりますが、場合によっては家族が使っているStream Deckから手動でON/OFFできるようにすることも考えます(IFTTTを経由してもいいし、直接SwitchBotのAPIを叩くとレスポンス上がりそう)。

■ランプの製作

家族はちいかわ(のモモンガ)が好きなので、こちらのランプを魔改造することにします。

バッテリー充電式なので外部の電源入力のON/OFFでは直接点灯制御はできなそう。最悪分解してバッテリー線を切断とかしたらいけるかなくらいで特攻。案の定、充電とは別で電源スイッチを押さないと点灯しません。さらに色が電球色と昼白色か昼光色の色温度の高い色の2色切り替え式で、最初は必ず電球色になります。モモンガの毛色としては違和感ありまくりなので解釈不一致のクレームになってしまいます。これは改造無理なんじゃ…とバラしてみるとこんなランプユニットが出てきました。

カバーの接着も固く、想像にこのユニットを使うのは放棄。上部のモモンガ型のシリコンカバーだけを流用することにします。

発光体としてSwitchBotのLEDテープを使うことにしました。電球タイプでは入ったとしても発熱がスゴそうなので。

IFTTT連携ができればいいのでもっと安いものもありますが、我が家ではSwitchBotを元々使っており、新たにアプリを入れなくてもいいというのでこれにしました。

テープ状のLEDを巻き付けるコアパーツを3Dプリンターで作ります。なんとなく体型に沿うようにしたら結局電球みたいなフォルムに、、まぁ大きさが違うんですが。

ボディのシリコンカバーを固定する底の円盤部分を元のランプユニットのサイズで正確に設計。これでシリコンカバーがカポっとはまります。いかにも配信中であるというプレートも手でもってるように取り付けてみました。実際には3つのパーツで別々に造形しています。プレートは半透明PETG素材で光が透けるようにしてみたんですが、透明度が低いのイマイチでした。

LEDテープを巻き付けた写真を撮るのを忘れてたんですが、このパネルの下に伸びるステーが非常に折れやすく2回折れては補強を増して造形したりして、もう分解したくないので割愛。

■SwitchBot設定

LEDテープはRGBで色も明るさも自由にできますが、当面はON/OFFでいいので、SwitchBotのスマホアプリで解釈一致な毛色を再現してお気に入りに入れておきます。普段はIFTTT経由でON/OFFだけすれば色や明るさは固定されます。

必要があればIFTTTから色や明るさ指定もできるはずなので、録画中は赤とか動作を変えることもできるはず。

■IFTTT設定

配信開始(点灯)と配信終了(消灯)のそれぞれのアプレットを作ります。IF(トリガ)がWebHooksで、THENがSwitchBot制御です。

動作確認も兼ねてスマホアプリへの通知も挟んでいます。

WebHooksの中身はこんだけ。配信開始用アプレットではイベント名を「stream_started」、終了用は「stream_stopped」とします。

SwitchBot側は「LED Strip Light On/Off」モジュールを使います。

WebHooksとして使うURLは、ユーザーアカウントを示すキーと、そのユーザが作った中でどの動作を叩くかを示すイベント名を含みます。そのうちイベント名は上記で指定したものになります。キーはユーザ毎に固定なので、「My Services」→「WebHooks」の画面にいって調べます。

この画面にあるURLの/use/の後の文字列がキーになります。

これを使って、

みたいな形式がトリガ用のURLとなります。これをブラウザなどで開くとアプレットが実行されるわけです。これをstream_startedとstream_stoppedで2つ作っておきます。

■OBS Studio設定

で、OBS Studioの配信開始や終了時に上記URLを(ウインドウを開かず裏でひっそり)開けばいいわけですが、そこら辺は汎用的な情報なので別記事として切り出しました。

■完成!

これが完成したライトです。RGBテープライトなので色味を調整でき、いい感じの白さを出せてると思います(原作知らんからイメージですが)。さすがに耳の中までは光が届いてない感じ。

プレートはX1-Carbonで始めて多色造形したんですが内部サポートが黒になってしまい格子模様がでちゃってます。どうも外枠を黒にすると吊られて内部構造も黒になってしまうぽいので、別パーツにして組み合わせるとかしないとかも。

右の半球のが元から入っていたライトユニット

ライトの熱でシリコンカバーが焦げたり燃えたりしないか不安でしたが、輝度設定としては15%くらいで充分綺麗に光るし、一晩点けたままにしても平気でした。万一参考になさる時は自己責任でお願いします。

別にちいかわでなく、電源供給で(スイッチ無しで)ON/OFFできるランプならもっと簡単にできると思います。

この場合は、こういうスマートコンセント型のデバイスでON/OFFすればいいでしょう。

電源だけは必要にせよ、PCからの線が届かない位置でも、なんなら地球の裏側でも配信の状態を知ることができるので、ニーズがある人の参考になれば幸いです。

OBS Studioの配信にあわせてIFTTTのWebHooksを叩く

Pocket

詳細は別記事で書く予定ですが、OBS Studioで配信を開始/終了するたびに宅内の照明などを操作したかったので、OBSのLUAスクリプトで実現しました。そのまんまのサンプルがありそうで見付からなかったので、なんとか各方面のマニュアルやブログを参考に実装しました。

WebHookからの家電操作にはSwitchbotとIFTTTを使います。今回はLEDテープライトを用意しました。

別に電球でもエアコンでもカーテンでも理屈は同じです。またIFTTTに対応していればSwitchbot製品でなくてもいけると思います。家電製品操作だけでなくメールやSNS投稿をしたり、Googleドキュメントに記録をしたりとか。IFTTTは何年か前に無料プランで使えることが絞られてあまり名前が挙がることがなくなりましたが、無料プランでも2つのアプレットが作れるので、今回の用途(オンとオフ)だけなら使えるんじゃないかと思います。

  • 手順1. SwitcBotまたは他のIFTTT対応製品を設定
  • 手順2. IFTTTに登録し、SwitchBot(等)サービスと連携
  • 手順3. IFTTTでWebHooksサービスを登録し、個人毎のKeyを取得(あとでOBSにコピペします)
  • 手順4. 開始時アプレットとして、IFにWebHooksを選び、イベント名を「stream_started」とし、THENに好きな動作を設定
  • 手順5. 終了時アプレットとして、IFにWebHooksを選び、イベント名を「stream_stopped」とし、THENに好きな動作を設定

までは別途済ませてあるとします。

■スクリプトの準備

GitHubリポジトリからluaスクリプトをダウンロードするか、以下のコードを「IFTTT_when_stream_star.lua」という名前で適当なフォルダに保存します。

OBS Studioで「ツール」→「スクリプト」を開き、「+」ボタンから保存した.luaスクリプトを選択します。Key欄にIFTTTのWebHooks設定で取得したKeyをコピペします。

・WebHooksキーの取得

設定済みの場合、こちらのページを開いて、URLの赤線の部分があなたのKeyです(/は含まない)。

基本これだけです。最初の確認段階では「スクリプトログ」ボタンを押してログウインドウを開いておきます。そうすると配信開始/終了時に「配信を開始しました。」「配信を終了しました。」などとメッセージが出てスクリプトが反応していることを確認できます。

WebHookを開くのにテキストブラウザのcurlというプログラムを裏で呼び出しています。これはWindows 10 Version 1803以降はプレインストールになってるので特に何もしなくても大丈夫はなず。macOSでもここ最近ものでしたら入っているはずです。

カスタマイズしたい人への参考情報

今回はOBSの動作のフックとして

  • OBS_FRONTEND_EVENT_STREAMING_STARTED(開始)
  • OBS_FRONTEND_EVENT_STREAMING_STOPPED(終了)

を使って、32行目以降のところで処理を記述しています。もしこれ以外のイベントをトリガーにした場合は、APIマニュアルを参照して希望のイベントがあるか調べてみると良いでしょう。

M1 MaxのMacBook Pro 16’を導入しました

Pocket

ついに出ましたね。AppleシリコンのM1を搭載したMacBook Pro(以下MNP)の上位モデル。メモリが16GBに制限されず処理性能も更にアップした真の(?)Proモデル。Pro 13’をスルーしていてよかった。ナンバリングとしてはプロセスルールがかわってないからはM1のままでしたが、ProとMaxがつきました。iPhoneではProとMaxは排他関係にないんですが、M1ではProまたはMaxの2択(無印入れると3択)となります。ややこしい!

全体的にCPUおよびGPUのコア数が増え、最大メモリも64GBまでに増えました。8KやApple ProResなどの重たい動画もハードウェア支援でサクサク編集&エンコができるとのこと。個人的にはGPUの汎用的なパワーよりもハードエンコード支援が速くて綺麗で静かなことが重要なので、かなり惹かれました。

現在は仕事でOBS Studioで3カメラ+αくらいのリアルタイム合成をして配信や録画をしたり、Premiere ProでMax 4Kの映像を扱っています。それらが速く静かに安定して使えるなら、久しぶりにMacをメインに戻してもいいなと思い検討をすることに。

現在メインのWindowsデスクトップはRyzen 3900 + RTX3070です。SSDもGen4ですが、先日4Kソースx2本(正確には同一のソースを時間的に少しずらして重ねる的なレイアウト)を4K出力したら1時間くらいの映像に10時間以上かかってショッキングでした。また出先での実務ではRazer Blade 14のRyzen 5900HX + RTX3070構成。こちらの問題は結構ファンがうるさいことと、USB周りが不安定な点。普段は割と静かですが少し負荷がかかると結構ファンノイズが気になりだし、仕事の時は安定性も考慮して下にファンがついたノートPCクーラーをしいて運用しています。これも一緒にもってくので結構嵩張る。また一番困っているのがUSBキャプチャデバイスやWebカメラを複数つなぐと結構不安定でOBSの映像がブラックアウトしがち。個別に無効化->有効化をしたり、ひどいとOBSやOSを再起動しなければならないことも。USBの電流不足っぽいのでセルフパワーのハブをかましたりしてみてますが、なんかドキドキしながら使っています。

またどちらの環境でもNVIDIAのRTX Broadcastによるマイクノイズ軽減や背景ぼかし、フレーム追尾は重宝していますが、UT実査ではRode Wireless Go2で口元で収録すれば中継には充分な音質だし、それ以上は後でPremiere上でクロマノイズ除去でいいやという感じになってきていて、RTXマストではないかなという気もしてきました(普段のちょっとしたWeb会議にはめちゃめちゃ有効なのは間違いないですが)。

というわけで、

  • OBS Studioがカメラ多めの環境で安定して、かつ静かに使える
  • Premiere Proで4Kクラスのエンコードが速くなる

ならば是非使いたいなと思いました。もしかして今のデスクトップより速くエンコードできるのであれば、もういっそWindowsデスクトップはなくして、Mac/Windowsの高速ノート2台体制も夢ではないかなとか。

とはいえ一般の評価を見てからと思い、イベント即日には予約しませんでした。半導体不足の煽りで初回ロットを逃したら年内買えないかも?という不安はありましたが、、

■どうせすぐ買えないので構成をじっくり考える

シルバーかスペースグレーか

これまでMBPもMacBookもひたすらシルバーを買って来ました。なんかやっぱりMacBookって感じで綺麗だなと。しかし今回は初めてスペースグレーをチョイス。主な理由はキーボード部分がブラックアウトされていて、シルバーのボディからは浮いて見える気がしたから。スペグレでもまだ浮いてる気はしますが、まぁマシなんじゃないかなということで。iMacなんかだと上位モデルという感じもあってせっかく後述のM1Maxにするならより速そうな方にという理由も。

14か16か

ここはかなり迷いました。昔ほどノマドでプログラミングなど長時間作業をするかどうかです。Razer Blade 14で14インチのハンディさは味わっていて、持ち歩いてノートとりなど系作業にはかなりジャストサイズなフォームファクタだなという実感はありました。今回のMBP14/16は少し重量が増していることもあり。そもそも99%は自宅でクラムシェルにして超ワイド5Kモニタにつないでいるので、あまり液晶モニタにコストかけるのはもったいない気も。ぶっちゃけMac miniのM1Max機があるなら自宅用に割りきってもいいかなって思ったくらい。

結局16にしましたが、これは積極的に選んだというよりは在庫やスペックの条件で買えたから買ったというところが大きいです。まぁRazerが14なので使い分けられる様、違うサイズがいいだろうというのも。

ハイパーモードの存在は知ってはいましたが特に気にはせず。あとはスピーカーの音質は16の方が良いらしいというのも聞こえてきていて、まぁあまり内蔵スピーカー使う機会もないけど、音がいいのはいいなって位。

M1ProかM1Maxか

これも正直自分の使い方でMaxいるかどうかは微妙でした。8KやApple ProResの編集とかは当面は機会がないでしょう。iPhone 13 Pro MaxでProRes撮るかもですが、ファイルサイズがエグいので常用はしないかなとか。Proでも「最大20ストリームの4K ProRes再生」ということなのでデコードや合成処理には充分すぎます。

ただコア数よりもメモリ帯域幅がProとMaxでは2倍違うのは気になりました。

まぁ前のMBPが2016年モデルで自分にしては長く使ったし、MacはOS対応サイクルが長いので今度も割と長く使うかもということもあり、そのうち活用するかなということ。あとは後述のメモリとかの組み合わせも考慮すると、M1Maxはコスパは高そうという気がしたこともあり、これまた積極的にMaxにしたというよりは組み合わせとして松モデルが手頃そうだったというところが大きいです。Mac ProやiMacみたいに上位モデルが70万だの天井知らずの価格差ならともかく、今回のPro/Maxの価格差は数万円程度で手が届かなくはない差なので、精神衛生上、上位モデルにしておこうかなという気持ちは働きます。Maxだとバッテリーがもたない、とか爆熱とかあればまた悩ましいですが、今回は仕様で謳うほどは差がなさそうでしたし、購入者の評判を見る限りMaxでもめっちゃ静かだということ。今のSoCは省電力モード専用コアとかがあるので、低負荷時は違わないんじゃないでしょうかね。静かでバッテリー減らないなら上位モデルを避ける理由はかなり減ります。(ちなみに16インチの場合重量が100g違います。Maxだと軽量スマホ1台分くらい重くなるということです。)

メモリ、SSD容量

M1ではCPUとGPUがメモリを共有してそれぞれが必要な分だけ確保するユニファイドメモリという仕組みになっています。つまり前モデルと同じ16GBモデルを買ったとしても、GPUに何割か持って行かれると考えると実質は少なく見積もる必要があるんじゃね?と考えました。初代M1のラインナップもそこが気にあった点ではあります。そもそもアーキテクチャが違っていてメモリの使い方を違うし、VMWareでWindowsも動かせないので、16GBもいらないかなとも思いつつ、まぁなんか数字として減るのは悔しいなと。てことで32GBを選びました。

SSDは出先で動画収録や編集に使うことを思うと大きいに越したことはないですが、まぁコスパを考えて1TB。Razerと同じ。まぁこれだけあれば1回の実務で不足することはないでしょう。またUSB4やThunderbolt4の外部ストレージが出揃ってくれば2,000MB/s級の読み書きができるので、足りなくなったらそっちに逃がせばいいかなと。

16インチの松モデルを選択

というわけで、メモリとSSDが希望通りである16インチの松モデルが結果として手頃だしコスパも良いし、しかもApple Store店舗なら結構在庫あるぞってことで決定しました。

  • M1Max
  • 10コアCPU
  • 32コアGPU
  • 32GBユニファイドメモリ
  • 1TB SSEストレージ

です。下位モデルにメモリやSSDを持っていくと、結局松に価格が近づいていき、だったらMax/32コアGPUにしてしまった方が「ストレージとメモリ容量以外は最高モデル」と思って買った方が気分が良いでしょう(笑)。

■Apple Storeなら結構ピックアップで購入可能!?

購入モデルを決めて探してみると、オンラインは1ヶ月以上かかるものの、Apple Store実店舗ならわりと在庫があるところがチラホラ。現場仕事を翌日に控えた日、残念ながら川崎は受け取りが翌日になっていましたが表参道なら当日受け取り可に!仕事も都内なので、受け取ってホテルでセットアップすれば次の日仕事(ちょうど機材テストの日)に持ち込めるじゃん!本番でないのでダメでもRazerに戻せばいいだけ、ってことでなんか気持ちが盛り上がって店頭受け取り注文をしてしまいました。

コロナ禍で受取時間は30分毎の枠で予約が必要でしたが、少し早く着いてしまい、行列が短いタイミングで係の人に相談してみたら店内に入れてくれて受け取りもできました。

ホテル開封になるとTimeMachineバックアップからの復元ができないわけですが、今回アーキテクチャが変わってる節目だし、久しぶりにクリーンセットアップしてみるのもいいかなと思い、データは後ほど手動でコピーすることに。

■OBS StudioとPremiere Proでテスト

でホテルであれこてセッテイングをし、翌日の機材テストに投入してみました。構成はOBS StudioでFHD録画、Zoomの画面共有でサブモニタ映像(FHD)をまるごと配信。カメラはFHDを3系統、マイクをUSBでWIreless Go2で、あとは簡単な図やテキストという感じ。結果は上々。一度外部モニタの電源が落ちてOBSがクラッシュしましたが、まぁ共有してる画面が突然消えたらしかたないかってことで配線をかえて対処。それ以外はド安定でした。ファンが回る様子もなし。RazerでUSB機器が増えた時のような不安定さもなくバスパワーハブでも安定して絵が出ていました。

また事後にPremiere Pro 22で録画した動画ファイルのサイズを縮め、バックアップの音声トラックを削除してもう一度MP4に再エンコードしてみました。4Kでもなく合成もないので編集操作はサクサク。ただ出力は90分のソースで30分くらい。3倍ですね。正直もうちょっと魔法のような爆速さを期待していましたが「まぁこんなもんか」と。冷静に考えると充分スゴいですが、drikinさんが8Kを3倍で書き出せたみたいなこと言ってたのでFHDなら一瞬じゃねーの!?と予想してたのも確か。DaVinchだともっと速いのかな?Appleのエンコード部分をFinal Cut Proから独立させたCompressorはもってますが、さすがにカット編集すらできないのではいくら速くても使い物にならないし、こういう時のためにもDaVinciを手習いしておくべきか…

■その他所感

重量・サイズ感

やはりスペック通り、一回りゴツく重くなった感は明らかに体感でわかるレベルです。ズシっとしてます。持ち運ぶ時は14インチにすれば良かったかなと思いそう。まぁでも当面は自宅作業がほとんどなのでいいかなー。

端子類

方々で「Appleどうした?」っていわれるくらいレガシー端子が復活しまくっています。MagSafe3はちょっと磁力強めで、本当にコードのひっかけた時に抜けてくれるのかな?と心配になるレベル。

HDMIは2.0なのは残念ですが、まぁ自宅ではThunderboltだし、出先用と割りきるなら荷物減るし4K/30pも出れば充分でしょう。HDMI出力一体型ハブとか持ち歩くのはなんか悔しいので、その分他のポートが充実したハブを買い直しでしょう。

MagSafeがつくかわりにUSB/TBポートが減っているのが気にはなります。まぁ従来は電源用に1ポート埋まることが多かったので差し引きのダメージは少ないですが。PD 100Wがきちんと通るハブもあんまり選択肢がなかったですし。

SDカードスロットも地味に嬉しいですね。

もろもろポートがついたおかげでHDMIやSDカードのためにドングルやミニドックを持ち歩く必要がなくなります。むしろ配信系の現場ではカメラやマイクでUSBを多用するのでとにかく品質の良いUSBハブを探そうと思います。

一方でなくて惜しいのはLANポートです。Mac miniのように10Gbpsとかつけてほしかった。せめて2.5Gや5Gbpsでも。というのも現状でM1やMotereyでばっちり使えるという5G/10GbpsのLANアダプタってあまりなさそうなんですよね。QNAPもいつのまにかMacのサポート打ち切ってますし。あれドライバはかなり強引に入れる必要あるし、なんか使ってていつのまにかOSが落ちて電源切れてるみたいなこと多かったし、やっぱコイツのせいだったのかな?手持ちではBUFFALOとASUSTARの2.5Gbpsは一応認識してリンクアップもできてます(実効速度までは測定してないですが)。5Gbps以上で手頃なものがないんですよね…自宅用のThunderbolt4ドックで5G/10Gbps LAN付きを見つけたら買いかなと思っています。

充電周り

16インチは充電器が140Wタイプになるのも代替品がなくて悩みますね。まぁ普通の作業ならPD 100Wでも充分足りそうですが。充電器とケーブルはType-Cで脱着可能で、Type-C – MagSafe3ケーブルは予備で1本買っておきました。純正は自宅用にして、ホテルなどでは他のデバイスと兼用で100W級の充電器でいいかなと。ケーブルは編み編みタイプになっており耐久性が高そう。

ディスプレイ

M1 iPad ProがミニLEDでローカルディミングに対応した時、カラー表示画素に対してローカルディミングの解像度が低いために、文字が滲んだように見えるブルーミングという現象が話題になりました。正直買わなくて良かったと思ったんですが、今回のMacBook Proでも同じことが起きないか心配でした。初回予約を見送ったのもこれが一番理由として大きかったです。しかしその後のレビューでiPad Proの時より改善されていると聞き「じゃぁ大丈夫かな。やっぱ買おうかな」と気持ちの針が購入側にグググっと動きました。

実際見てみると全然気にならないレベル。目をこらしたらわかるかも知れませんが、黒地に小さな白文字のようなかなり特殊な条件なら見えるかもですが、普通にはわからないです。いいかえると電子書籍とかで反転表示はキツイかもですが、スマホやタブレットと違ってそいう使い方はしないので問題なさげ。Visual Studio Codeで黒背景でプログラミング作業もしてみましたが特に気になっていません。

120Hz表示はまだSafariですら非対応ということなので評価保留。

いずれにせよ現状では9割は自宅で外部ディスプレイ接続の使い方では活用しきれないのがもったいない。これから現場やノマド機械が増えていくといいなと思います。

スピーカーの音が確かに良い

2016から世代を重ねる毎に音質アップと言われていたので、その積み重ねが一度に来たのか、今世代がスゴいのかはわかりませんが、確かに高音から低音までしっかり、それもかなりの音量で鳴りますね。HomePods 1台よりも全然良いし、逆にHomePods 2台の低音ブーブーすぎてアレな音質よりも実用性では上。部屋のBGMにも充分使えそうなレベル。まぁこれもディスプレイと一緒で普段はクラムシェル使用で活躍の場は少ないですが。逆にホテルとかで使ったら壁ドンされるレベル。

キーボード

2016世代のバタフライキーボードは革命的で大好きでした。超浅ストロークで指の動きを最低限にして高速タイピングができる感覚が素晴らしい。ただバタフライは異物がはさまって不具合を起こす欠点がなかなか改善できず2019年モデルでは次世代のシザー方式に移行してしまいました。個人的にはこのシザー式はストロークも少し深くなっていて好みではなく買い控えの理由でもありました。たぶん今回に強いアピールがないので基本的にはシザーを踏襲したものだと理解していますが、久しぶりに店頭でタイプしてみて「これなら許せるかな」と思った次第。あらためて2019と比べたわけではないのでなにか改善されたのか、単に逆思い出補正なのかはわからないですが、なぜだか今作は特に不満なしです。バタフライと比べて上!という気もしていませんが。

先に書いたようにデザイン的に真っ黒でプラスチック感が増したのは減点要因な気もします。まぁ見慣れるでしょうし、どうせ9割クラムシェルで(以下同分

ケース周り

上面と底面がフラットになった点についてデザイン面では特に好き嫌いを感じないです。Surfaceっぽいかなってくらい。ただフラットということは保護ステッカーなどは綺麗に貼れそう、、という気はしていて、傷つけないうちになにか良いステッカー見つけて買おうかなとは思ったり。ただまぁMacBookの外装はちょっとやそっとで傷はつかないのは長年の経験で信頼しているので、この質感を活かして素で使うのもいいしなと悩ましいです。

iFixItによるとバッテリー交換はちょっとだけ手間がマシになった程度っぽいですね。2016でも交換を経験しているのでDIYでやれるレベルだと良いのですが。またSSDは交換困難なようで残念。統合メモリは仕方ないにせよSSDくらいはM.2でサクっと脱着可能にしておいてほしいものです。

まとめ

Macは筐体の刷新は数年置きで、ここ最近も2012のRetinaモデル、2016のTouchBarモデルと外観が刷新されるのを機に買い換えてきました。M1という意味では周りでAirや13’Proを買ったひとを羨ましく思いつつでしたが、15/16インチという意味では今回もその波に乗れた気がします。さすがにiPhoneのように毎年は買えないですが、OSサポートも長いしまたこの形が変わる頃まで愛用していければと思い、プロセッサとメモリを盛りめにしました。容赦なく肥大化する動画フォーマットを鑑みるとストレージが不足してかないかは不安要素ですが、しっかり活用していきたいと思います。

UT/インタビュー配信用にGeForce RTX搭載ノートを買うよ(選定編)

Pocket



前エントリでRadeon dGPU搭載ノートXPS 9575でどうにかOBS Studio用アクセラレーター設定を達成したばかりですが、やはりもうOBS Studio使うならGeForceだろっていう風潮なので3年ぶりにメインノートをリプレイスを検討します。

■OBSといえばRTXなの?

RTX20シリーズの頃の話ですが、NVidia側が積極的にOBSと積極的にコラボしてNVENCのチューニングを進めているというアピールをしていました。一般にハードウェアエンコード支援は「速いけど画質はヒドい」というイメージがありましたが、この記事ではもはやx264のリアルタイムエンコードより細部までクッキリやぞ、と主張しています。

そしてまたつい最近ですが、OBS Studio v27で、NVIDIA のAIノイズキャンセリング NVIDIA Broadcast(旧RTX Voice)相当のフィルターが搭載されました。

別途SDKのインストールは必要ですが、OBSのソース毎のフィルターとしてあの最強NCが使えるわけです。通常NVIDIA Broadcastを使う場合は、特定のソースからの音声データを、仮想サウンドデバイスに出力します。なのでそれをOBSなどで取り込むこと自体は可能ですが、同時に使用できる1ソースのみとなります(厳密にはマイク用とスピーカー用で2ストリーム)。しかしOBSのフィルタとして取り込まれたことで、複数の入力ソースに個別にかけることが可能になります(ただしON/OFFや強度のかけ方、NCとエコーキャンセルの使い分けなどの設定は共通な模様)。

個人的にRTXでなくとも使えるKrispやOBSのRNNoiseフィルタといったAIを謳うNC系を比較してきましたが、やはりNVIDIA Broadcastが秀でている感があります。どれもノイズは割と綺麗に消えるものの残った声の違和感のなさではNVIDIAが優秀。RNNoiseはキーボード音も消しきれない感じ。

などなどの理由でNVIDIA、それもRTXシリーズだとより安心、低負荷、高品質にOBS Studioが使えるというイメージ。

■そもそもNVIDIA Broadcastをモバイル環境でも使いたい

NVIDIA Broadcastは普段デスクトップでは使いまくり、常時ONです。マイクのNCはいわずもがな、カメラの背景ぼかしや話者自動追尾なども利用する会議システムを問わず低負荷で利用できるのは非常にありがたいです。精度、品質も秀でているとくれば、出先でも使いたい。

ちょうど久しぶりに会場実査の案件で自PCを持ち込んで録画とリモート見学者向けに配信をすることになったので思い切ってリプレイスすることにしました。

■検討候補

単にRTXであればいいということならエントリーの3050や3060を搭載したノートが十万円台前半くらいからちらほらあります。ただこれらのPCは画面がフルHDと狭い。高解像度大好きマンなのでさすがに選択から外します。12インチとかならまだいいんですけど。ただRTXの上位モデルを積んだ機種でもゲーミング機が多い関係でフレームレートに振ったフルHD機も結構多い。今が15.6インチの4Kなので、できれば同等か14インチならQHD(2560×1440)を要件としました。MacもXPSも15インチだったので、少しハンドリングが良さそうな14インチ(一昔前の13インチの外寸だけどフレームを細くして14インチを入れたイメージ)にしてみたいなという気持ち強め。

候補1:Razer Blade 14 (2021モデル)

と思っていたところに発表があったコイツ。

デザインもスッキリシェイプで好み。先日姪っ子にRazerのミニタワーケースでPC組んでやったこともありブランドにもなんとなく親近感。日本では2モデルに絞って展開ですが上の3080で39万はさすがに高いし、ゲーム用ではないのでオーバースペック。下のモデルでもRyzen 9/RTX3070/16GB/1TBと十分すぎます。動画を保存するのでストレージが大きめなのはポイント高い。XPSになかったHDMIポートやUSB Aポートがあるのも良き。QHDかつ165Hzなのでヌルヌルカーソルも体験できます(同居人が300Hz機を買ってちょっと羨ましかった)。

候補2:DELL XPS 15 9510

今使っているのの後継モデル。ただし2-in-1はなく、RTX3050Tiに落ちる。3K(3456×2160)  OLEDやQHD+(3840 x 2400)液晶も選択可能。Intel CPUなのでThunderbolt 4がついているのもRyzen機にないメリット。検討時、発売記念の20%クーポンが出ており、SSD 1TB、QHD+液晶を持っても30万とBlade 14とほぼ同価格で買えると。ただし納期が一か月以上…

候補3:ASUS Zephyrus G14

Ryzen 9/RTX3060/32GB/1TB/QHD120Hzで23万とかとてつもなくコスパ高い。デザインも悪くない。当初の仕様を満たし完全に配信仕事用と割り切るならコレにしてたでしょう。

また同じASUSで専用外付けeGPUボックスがつけられるX13というシリーズも目につきましたが、今回の要件でいえば既に3050Tiがついているのにさらに上位のdGPUを要するシーンが思い浮かばなかったので見送りました。外でも家でも1台で賄いつつ、電源のあるところではさらに上位のグラフィックが使いたい、という人には面白いモデルだなと思いました。

結局Razer Blade 14に決定

DELLは納期が長い点、今と変わり映えしなくて面白みに欠ける上に2-in-1という特徴を失う点でいまひとつモチベーションが上がらず。唯一Thunderbolt4があるので拡張性的にも良さげでしたが、上記X13と同様、じゃぁ自宅でeGPUで3070や3080を将来的につなぐか?っていうとあまりなさそうだったり、1TBあればそうそう外部ストレージを使うこともないかなということで断念(むしろ現時点でTB3があるXPS 9575にeGPU箱をつけて自宅デスクトップから3070外して現場に臨むという体制は一瞬考えましたw)。

ASUS G14はかなり買いやすい価格でしたがWebカメラがないので、出張先でちょっとWeb会議に出たい、なんて時に地味に不便だろうなぁとか想像しだすとちょっと踏み切れませんでした。

Razerで心配になったのは故障などあった時のサポート体制はどうなんだろ?と。でもまぁ考えてみるとDELLだってプレミアムサービスつけたのに結局修理出す時は海外送りで一か月くらい待たされたんだし、日本語通じればいっかくらいで妥協。むしろ買ったことないメーカー使ってみたい、海外レビューで画面の綺麗さが絶賛されてた点などが後押しとなり、現物みないまま予約注文をしてしまいました。

RTX3070はNVIDIA Broadcastにはちとオーバースペックですが、8コア16スレッドのRyzen 9はいろいろ並列処理が捗りそう。14インチで16.8mm厚という性能のわりにコンパクトなサイズなので、普段使いにも活用していきたいです。普段使いで冷却ファンが静かだといいな…

 

DELL XPS 9575(i7/8705G)でOBS Studioのエンコードハードウェア支援VCEを使う

Pocket



現状手持ち最強のノートPCは2018年に買ったDELLのXPS15 2-in1(9575)です。これはIntel Core i7の8705GというRadeon Vega M GLを統合したかなり珍しいプロセッサを搭載しています。物理的には”統合”されていますが立派なdGPUです。ハードウェアエンコード支援などもそれなりに使えるはず!Radeonシリーズの場合VCEというH.264エンコードを含むライブラリがあり、これを使えばOBS Studioの録画や配信の負荷が減らせるではないかと着目。

しかし、普通にOBS Studioの設定メニューのエンコーダーの項目を開いたところ、「x264」と「QuickSync H.264」しか出てきません。Radeon Settingを開いてOBS StudioでRadeonが使われるように固定してみても駄目。うーん、あいかわらず8705Gの挙動はよくわからんなと(一度Radeonを全く認識しなくなって修理に出したこともあり「触れるとロクなことにならない」イメージでドライバー更新とかも保留)。

ググった結果、OBS StudioはAMDのハードウェア支援に対応しているもののやや古いものが同梱されており、こちらのGitHubリポジトリにあるAMD Advanced Media Frameworkライブラリ(以下AMF)に置き換える必要がありそげ。VCEとAMFの違いがよくわからないですが、VCEがRadeonに搭載された支援機能で、それを利用するのがAMFなのかな?

てことで、早速最新版の2.6.0をインストールしてみると変化なし(;´Д`)。こちらの対応GPU一覧をみると、VegaはVCE4.0に対応してることになってるよなぁ。ノート用のM系はダメなん?と諦めかけるも、ふと2.6.0のリリースをみると、”Removed support for older drivers”の文字が目に入る。最低でも19.7.1、19.9.2以上推奨とのこと。「あっ」っと思い手元の9575のドライバーをみたところ18系のまま。DELLの公式サポートページにある最新版を入れても18.10.01.08止まりなんですよね。前述の通り、以前AMDからダウンロードしたより新しいのをぶっこんでからなんとなく不調になったトラウマがあり、DELL側で公式リリースされたもの以外はいれたくない。ということで、obs-amd-encoderの方を1つ古い2.5.1にしてみたところ、

キマシタワー!「H264/AVC Encoder (AMD Advanced Media Framework)」と「H265/HEVC Encoder (AMD Advanced Media Framework)」が出現しています(録画タブのみ。配信タブはH264だけ)。しかもQuickSyncもそのまま選べるので、例えば録画はAMFのH265/HEVCエンコーダー、配信はQuickSyncを使う様にすれば、GPUとCPUに負荷が分散していいかも。

ざっと試した限り、フルHDくらいのカメラと画面キャプチャをした映像を録画するのは問題なさそう。個人的は使い方としては配信サービスへの送信よりは、TeamsやZoomへ送ることが多く、こいつらがハードウェア支援を使うのかどうかよくわからないので、厳密にそれらと逆張りを指定できてるかは不明なんですが、タスクマネージャー読みでは心持ちCPU負荷が軽くなってるかなという感じ(劇的ではないし、冷却ファンはブン回る)。画質も画面キャプチャ部分が目立ってブロックノイズまみれになるということはなさそう。ただ厳密にビットレートを揃えて測定はできておらず。一般にハードウェア支援を使ったエンコードはVBRだとサイズが膨らみがちだったりしますが、そこら辺は検証しきれておらず。

とりあえず目立った不具合がない一方、ガツンとCPU利用率が下がったりファンが回らなくなったりというほどの劇的な変化もないという感じ。まぁ特にファンについてはRadeon側が熱くなればトータルの排熱はそう変わらないかもですね。

ともあれ最近なんとなくNvidia推しな感じ(というかNvidiaに推されてるといった方がいいか)のOBS Studioですが、無事手持ちのRadeon搭載機でもハードエンコができるようになりました。実のところ別の理由でRTX搭載ノートが欲しくなってはいるんですが、9575もまだまだ使えそうです。