ラベル

このエントリーをはてなブックマークに追加
ラベル ネット配信 の投稿を表示しています。 すべての投稿を表示
ラベル ネット配信 の投稿を表示しています。 すべての投稿を表示

OBSとgo2rtcを使ってWebRTC (WHIP)配信をする


すごい、遅延1秒もないのです。

背景として、、
今まで完全クローズドな映像配信とか、インターネットに繋がっていない環境での映像配信をする時はnginx + nginx-rtmp-module でサーバたてて、OBSからHLS配信してました。
簡単だしお金かからないので、同じような事をしている人多いんじゃないでしょうか。
でも遅延すごいんですよね。10秒くらい遅延ある。

楽しみだなーと待ってたら、WebRTC (WHIP)サーバーが簡単にたてられるgo2rtcというのを見つけたので試してみました。

obs-midi-mgを使ってみる

2022/8/14 バージョン1.0.1の内容で作成
2022/9/6 バージョン 1.2.2の内容で更新

MIDI機器とOBSを連携することができる、obs-midi-mgを使ったというお話
MIDI機器がない状態でこのプラグインを入れるとOBSがクラッシュする可能性があるのでご注意。



はじめに

この記事は雑に書いている。
obs-midi-mgは出来たばかりのプラグインで、これからたくさん見た目や機能が変化する可能性がある。丁寧に書いてもすぐに記事と異なる状態になるかもしれないので、そんなに労力をかけたくない。

OBS Studio 28、29.1 プラグイン対応状況

2022.8.4作成、2022.11.27更新
OBS 28からフレームワークがQt5からQt6になるので、Qtに依存するプラグインはそのままでは使えなくなるだろう。なので、一足先に対応状況を調べておく。
9/1 公式ページでOBS Studio 28プラグインの互換性が掲載されました。ただ、当たり前だけどフォークされたもの(作者以外がビルドしたもの)までは書かれていない。

調査対象OS

Windows(x86_64/arm64)とMac(x86_64/arm64)
Win arm64はtommyvctさん開発のもので確認。とはいえ、Win arm64版が登場するのは今のところ29.1になると思う。
LinuxについてはLinux使う人は自分で何とかすると思うのでここでの調査対象外とする。

対象プラグインについて

なんとなく、個人的によく使われてそうだなと思ったものを対象に調査。
対応状況表のプラグインはOBSプラグインです。VSTプラグインは対象外です。
macOS arm64版でプラグイン読み込み条件が変わった件については表の下までスクロールしてください。

VSTプラグインについて

OBS28でもVST2が対応です。VST3は対応しません。
OBSのVST3対応はがんばってます。でもVST3対応はやめてCLAPオーディオ対応に変わるかも。結果は待ちましょう なんなら貢献しましょう。



対応状況表

〇 : 対応している、× : 対応していない、リリースなし : そもそも配布されていない
ー : 対応しようがない・する必要がない
Macの.pluginと.soの違いについては、このページの一番下を見てください。
プラグイン名Win
x86_64
Win
arm64
macOS
x86_64
macOS
arm64
備考
Advanced Scene Switcher
(SceneSwitcher)
リリースなし
.plugin

.plugin
9/2 1.18.0で対応した
ASIO plugin
(obs-asio)
リリースなし9/13 3.1.1で対応。Win専用のプラグイン。macOSユーザーでプログラムの知識がある人は#2889を組み込むことで同じことができる。例えばこんな感じ
Application Audio Output Capture
(win-capture-audio)
リリースなしWin専用のプラグイン。OBS28で標準搭載になったので別途プラグインは不要。既に入れてる人は消した方がいいかも。macOSではスクリーンキャプチャに同じ機能がある。(ただしmacOS13以降で対応)
Audio Monitorリリースなし
.plugin

.plugin
9/1 0.8.1で対応した
Audio Pan Filterリリースなし
.plugin

.plugin
8/10 0.2.0で対応した
Background Removalリリースなし
.so
〇※
.plugin
※mac arm64は非公式版で対応可。WinユーザーでNVIDIAのRTXを持っている人は、OBS 28.0で追加されたNvidia RTX Background Removalか、StreamFXのVirtual Greenscreenフィルタを使った方がいいと思う。
Color Monitorリリースなし
.plugin

.plugin
8/8 0.4.0で対応した
Directory watch mediaリリースなし
.so
〇※
.plugin
※mac arm64は非公式版で対応可
Downstream Keyerリリースなし
.plugin

.plugin
9/1 0.2.5で対応した
DroidCam OBS Cameraリリースなし
.plugin

.plugin
8/17 1.6.0で対応した
Face Trackerリリースなし
.plugin

.plugin
8/8 0.6.0で対応した
iOS Camera for OBS Studioリリースなし
.plugin

.plugin
8/18 2.9.2で対応した
Input Overlayリリースなしリリースなしリリースなし8/21 5.0.0で対応した
livesplit-one
.so

.so
mac arm64はpluginに変換する必要あり
Main View Sourceリリースなし
.plugin

.plugin
8/10 0.2.0で対応した
Media Controlsリリースなし
.plugin

.plugin
9/1 0.3.6で対応した
Move transitionリリースなし
.plugin

.plugin
9/23 mac arm64は2.6.2で対応した
obs-midi×リリースなし×リリースなしqt6ブランチで対応作業進行中 対応されるまではobs-midi-mgを使った方がいい
obs-midi-mgリリースなし
.plugin

.plugin
obs-multi-rtmpリリースなし〇※
.plugin
〇※
.plugin
8/6対応 ※macは非公式版で対応可
obs-ndiリリースなし
.plugin

.plugin
10/29 4.10.0、5.0.0で対応した。新バージョンで音声ノイズが気になる人は別バージョンを使ってみるといい。Win版mac版
obs-text-slideshow×リリースなし〇※
.plugin
〇※
.plugin
※macは非公式版で対応可
OpenVR Capture
(OpenVR input plugin)
リリースなし
Pthread Textリリースなし×2.0.0で対応した
PTZ Controlsリリースなし9/16 v0.12.0-pre2で対応した
Scale To Soundリリースなし
.so
〇※
.so
※mac arm64は非公式版で対応可 mac arm64はpluginに変換する必要あり
Scene Collection Managerリリースなし
.plugin

.plugin
9/1 0.0.8で対応した
Scene Tree Folderリリースなしリリースなしリリースなし9/4 0.1.4で対応した
Soundboard Dockリリースなし
.plugin

.plugin
8/31 1.1.0で対応した
Source Dockリリースなし
.plugin

.plugin
9/1 0.3.3で対応した
Source Recordリリースなし
.so
〇※
.plugin
※macは非公式版で対応可
Source Switcherリリースなし
.so
リリースなし
Spectralizerリリースなし
.so
リリースなしこのプラグインは開発終了。waveformへ移行した方がいい
Spout2 Capture Pluginリリースなし8/22 1.5 betaで対応した
Stream Deck pluginリリースなし
.plugin

.plugin
9/1 5.3.2.xxで対応した
StreamFXリリースなし
.plugin

.plugin
8/20 0.12.0 a77で対応した。
9/5 0.12.0 a117でmac arm64にも対応
Teleportリリースなし
.so
×
text-pangoリリースなし
.so
〇※
.plugin
※mac arm64は非公式版で対応可。Winはテキスト(GDI+)があるのでほとんどの人は不要だと思う
Tunaリリースなし
.plugin

.plugin
8/20 1.8.0で対応した
Virtualcam〇※リリースなし開発終了。作者は代わりにVirtual Cam Filterを使うことを勧めている。※ただしどうしても使いたい場合、他の人がフォークしてOBS28に対応させたものがある。
Virtual backgroundリリースなし×リリースなしWinユーザーでNVIDIAのRTXを持っている人は、OBS 28.0で追加されたNvidia RTX Background Removalか、StreamFXのVirtual Greenscreenフィルタを使った方がいいと思う。
Waveformリリースなし
.so

.plugin
9/1 1.5.0-beta1でmac arm64対応
websocketリリースなし
.plugin

.plugin
OBS28で標準搭載になったので別途プラグインは不要。既に入れてる人は消した方がいい。バージョンは5系になる。前のバージョン4系とは互換性がない。バージョン4系は4.9.1-compatという名前となって併用できるようになる。
websocket 4.9.1-compatリリースなし
.plugin

.plugin
9/2 リリース

OBS 28.0 RC1 から Macにおいてプラグインの扱いが変わる。
macOS arm64はpluginバンドル構造のもの、インストール先はユーザーライブラリ内にすること。これまでグローバルライブラリ内でも使えていたが、それでは利用できなくなる。
arm64 (Apple SiliconのMac)
ファイル形式 .plugin
インストール先
⭕️ ~/Library/Application Support/obs-studio/plugins/
❌ /Library/Application Support/obs-studio/plugins/
ファイル形式 .so
インストール先
❌ ~/Library/Application Support/obs-studio/plugins/
❌ /Library/Application Support/obs-studio/plugins/

x86_64 (Intel CPUのMac)
ファイル形式 .plugin
インストール先
⭕️ ~/Library/Application Support/obs-studio/plugins/
❌ /Library/Application Support/obs-studio/plugins/
ファイル形式 .so
インストール先
⭕️ ~/Library/Application Support/obs-studio/plugins/
⭕️ /Library/Application Support/obs-studio/plugins/

結論
macOS用のプラグインは「.plugin」フォーマットにして、
~/Library/Application Support/obs-studio/plugins/
にインストールすれば間違いない。
プラグイン作者はインストーラーを作る場合、今後これを意識する必要があるだろう。

一応、.soのフォーマットから.pluginへ手動で変換することはできる。

OBS Studio 28.0 の更新内容(Mac)

自分が気になった部分だけピックアップ。全てを網羅しているわけではない。
が、それでもたくさんある。主にMacに関係がある内容を取り上げてます。
Windowsはこれらに加え、Application Audio Capture搭載、HDRにがっつり対応、AMDエンコーダ強化、フィルターにNVIDIAの技術を使ったBackground RemovalとRoom Echo Removalを追加ってのが目玉だと思う。Windowsはユーザーが多いので誰か他の人がまとめてくれるだろう。


MS2109の格安HDMIキャプチャでステレオ音声キャプチャする話、macOS編

 MS2109チップが使われた格安ビデオキャプチャ、安いので1,000円くらいで買えるのが色々ありますよね。安くていいんですが、音がモノラルなのが残念なところ。
Linuxだと昨年6月頃のカーネルからステレオで入力されるようになった。



macOSでもMS2109-mono-to-stereo-macというツールが登場し、ステレオ化できるようになりました。ということでやってみた。

OBSのStreamFXプラグインについて


 OBSで特殊なエフェクトが扱えるプラグイン、「StreamFX
 バージョン0.10.0b1になってmacOS向けにもリリースされた(Testing release)
 ここいらで何ができるものなのか確認しておこうと思う。


OBSでモザイクフィルタをかけることができるLuaスクリプト




 「え、Luaスクリプトでフィルタ作れるんかい」と思って、過去に手をつけたモザイクフィルタを移植してみた。

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


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


Macの配信のための音声設定


2022.07.16追記 注意
 この記事はOBS Studio 28.0がリリースされる頃には古い情報となる可能性があります。
追記おわり

 macOS版のOBSはWindows版と違って、デスクトップ音声(macOSが流している音声)を拾うことができず、一手間が必要。ここでつまずく人は多いと思うし、これが「macOSは設定が面倒」と言われる所だと思う。
 ではどうすればいいのかと言うと、仮想音声デバイスをインストールして、この仮想音声デバイスを経由してOBSに音声を入力する必要がある。Windows版でもマニアックな配信をする際に仮想音声デバイスをインストールすることがあるが、macOS版では普通の配信でもインストールしないと配信にならないケースが多い。
 もう1つ方法がある。オーディオループバック機能のあるオーディオ機器を使うこと。これはお金がかかるし、構成の説明が今回の記事と異なるのでここでは触れないことにする。

複数の配信サービスに同時配信する


 OBSは通常、1つの配信サービスにしか配信できないんだけれど、複数の配信サービスに加入しているお客さん相手にも配信したいとか、バックアップ配信サーバにも同時に配信したいとか、そういった用途のための記事。macOSでもWindowsでもLinuxでも可。今回はmacOS向きに書く。

OBSのエフェクトフィルタのオン/オフをホットキーで操作する


 OBSのホットキー機能。ショートカットキーという言い方もできるかな。OBSのある機能にキーボードのキーを割当てる。これによりキーを押すだけで配信開始できたり、シーンの切替ができたりする。
 そんなホットキー。特定の映像ソースの表示/非表示には対応しているんだけど、映像ソースにつけたエフェクトフィルタのオン/オフには対応していない。急に映像をぼかしたい、モザイク表示にしたい、色を変えたい時、ホットキーで対応させる方法を紹介。
 ここではmacOSでの説明だけれども、おそらくWindowsやLinuxでも可能。

Macの映像配信で使うビデオキャプチャ選び

Macにおけるビデオキャプチャについて、この記事はもう古いです。
こちらをご覧ください。

 映像キャプチャデバイス。よくキャプボとも言われているモノの話。ボードじゃない、外付けのデバイスも何故かキャプボって呼ばれてるよね。面白い。

 ↑の写真は私が所持しているビデオキャプチャデバイス。全てmacOSでも使える(一部は現在(2021.01.26) Intel Macに対応するが、Apple SiliconのMacには未対応)
 Macでも使えるキャプチャデバイスってたくさんあるけれど、配信で使うには一体どれを選べばいいのか悩む人も多いと思う。予算やキャプチャしたい映像ソースにもよるので、結局は自分で決めるしかないと思うのだけど、この記事で何かのヒントになればと思う。

OBSにspectralizerプラグインをインストールする


 OBSにオーディオビジュアライザ(音にあわせて動くやつ)を表示するためのプラグイン、「spectralizer」をインストールする。

Mac(macOS)で配信をする方法2021

 基本的には「VIPで初心者がゲーム実況するには」さんを参考にすればいい。
理由はソフトの使い方や配信サービスの説明など詳しいところまで書いているし、頻繁に更新されているので、「今と違うじゃん」ってことが少ない。

 配信の基本的なことや、配信サービスについては「VIPで初心者がゲーム実況するには」さんを見てもらうということで。あちらのソフトウェアの説明は基本的にWindowsのようなので、macOSだと通用しないことがある。ここではその辺が少し補えればなと。
 ただ、ブログを書く私自身が 分かりやすく 親切に 書く技術がないため、おそらく超初心者向きにはならないので注意。

 

M1 Macでobs-ndiを使えるようにする

 obs-ndiはOBSの映像ソースにNDIの映像を追加できるプラグイン。
 今までobs-ndiのリリースページに書いてあるとおり、macOSでもobs-ndiとNDI 4.5.1 macOS runtimeを入れることにより利用できていたのだが、2021/1/12現在、M1 Macでは "そのままの状態では" 利用できない。
 IntelのOBS+x86_64のobs-ndiであればM1 Macでも使えました。



 

Mac用にOBSとStreamFXをビルドする


 2021.2.21追記
 今までmacOS版がなかったので、この記事ではMacでもStreamFXが使えるようビルドする方法を書いてますが、これでMacでも簡単に利用できるようになりました。
 追記終わり。

 前にもこんなタイトルで書いたな。それは置いておいて、最近環境をまたWindowsからMacに変えたのでWindows時代に使っていたOBSもこっちで使うようにしようと。最新の機能をいち早く取り入れたいのでサイトでバイナリをダウンロードするんじゃなくてビルドしてみようと。あと映像にフィルタ適用する時にWindowsではStreamFXプラグイン使ってたんでMacでも使えるようにしようと。
 次の手順でStreamFX入りOBSをビルドできる。M1 Macでもbrew(x86_64)を使えば可能。
 

ラズパイとmomoで作る低遅延配信

 LAN内で映像音声を低遅延配信。双方向ではない、一方向。前々からやりたかったんですけど新型コロナウイルス(COVID19)の影響でやらないといけない状況なのでやってみました。電源いれたら自動的にHD画質で配信が始まる。閲覧側はブラウザでアクセス。

用意するもの(ハード)

  • Raspberry Pi
  • HDMIキャプチャ
こんな感じで今回3つほどラズパイ+HDMIキャプチャセットを用意してみました。
ケースはこちらで公開されているSTLファイルを我が家の3Dプリンタで出力したものです。

MS2109の格安HDMIキャプチャでステレオ音声キャプチャする話、Windows編

 ラズパイ編 | macOS編

 最近話題のHDMIキャプチャを買いました。USB2.0接続で1000円くらいの安いやつ。
ってこれ前回も書いたんですけどね。で、Windowsで使ってもやっぱり音声モノラルなんですよね。


OBSで使ってみた。見てのとおり1chしかないのでオーディオメーターが一本線。


プロパティを見てもやっぱり1チャネル 96kHzなんですよね。

ということで、Windowsでもステレオで録ろうという話。

MS2109の格安HDMIキャプチャでステレオ音声キャプチャする話、ラズパイ編

最近話題のHDMIキャプチャを買いました。USB2.0接続で1000円くらいの安いやつ。
いろんな種類があるんだけど、中身同じっぽいんですよね。

これ安くていいんですけど、音声がモノラルでキャプチャされるっぽいんですよね。
Raspberry Piで使うとき、これをどうにかしようという話。

気になる出来事