この記事では、WindowsまたはUbuntuにOBSをインストールし、USBカメラの映像をNDI化する手順を紹介します。OBSは無料で提供されている録画及びライブ配信ソフトウェアです。Windows版もUbuntu版もOBSの公式ウェブサイトからダウンロードできます。
OBSにNDIを追加するためには、NDIプラグインをインストールする必要があります。NDIは、ネットワーク経由でビデオとオーディオのストリームを送受信するための技術です。このプラグインをインストールすることで、OBSでNDIストリームを送信したり受信したりすることが可能になります。
OBSとは
OBS(Open Broadcaster Software)は、無料でオープンソースのビデオ録画およびライブストリーミングソフトウェアです。ソフトウェア開発者やストリーマー、ビデオ制作者など、さまざまなユーザーに幅広く使用されています。Windows、macOS、Linuxの各プラットフォームで利用可能です。
NDIとは
NDI(Network Device Interface)は、NewTekによって開発されたビデオストリーミング技術です。この技術は、高品質のビデオをIPネットワークを介して低遅延で送受信することを可能にします。NDIは特に放送業界、ライブイベントのプロダクション、ビデオ会議、ライブストリーミングなどで広く利用されています。
NDIプラグインをインストールすれば、こんな感じにNDIを扱えます。
USBカメラを選択します。
NDI OUTPUTを選択します。
Main Outputにチェックを入れます。
NDI として映像が流れました。簡単ですね。
それではWindowsとubuntuのOBSとNDIプラグインのインストール方法について説明しています。まずはWindowsから紹介します。
WindowsにOBSを入れてUSBカメラの映像をNDI化
OBS (Open Broadcaster Software) の公式ウェブサイトにアクセスします。
https://obsproject.com/ja/download
Windows版をダウンロードリンクを探してクリックします。これにより、最新バージョンのOBS Studioのインストーラがダウンロードされます。
:ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを完了させます。インストール中に設定をカスタマイズするオプションもありますが、初心者の方はデフォルト設定のまま進めることをお勧めします。
初期設定はキャンセルでOKです。
OBSにUSBカメラの映像をNDI化する機能を追加するには、NDIプラグインが必要です。OBS-NDIを入れます。
https://github.com/obs-ndi/obs-ndi/releases
特にバージョンの希望がなければ、最新バージョンの実行ファイルをダウンロードします。windowsなのでobs-ndi-4.13.0-windows-x64-Installer.exeを選択すればOKです。exeファイルを実行するだけです。
OBSを起動するとNDIが使えるようになっています。ツールのNDI outputからNDIの出力ができます。NDI SDKも自動で入るから簡単ですね。
メディアからNDI Sourceを選択するとNDIを受信できます。
以上でWindowsのOBSのNDIの設定完了です。次はubuntuです。
Ubuntu22.04にOBSを入れてUSBカメラの映像をNDI化
Ubuntu22.04をインストールするハードウェアは、CHUWI LarkBox X AMD Ryzen 3750Uです。NDIのサイトから所定の登録を進めるとEメールでInstall_NDI_SDK_v5_Linux.tar.gz をダウンロードできます。NDI SDKのLinux版をダウンロードします。バージョンによって名前やダウンロード方法など変わるでしょう。
https://ndi.video/download-ndi-sdk/
ダウンロードしたNDI SDKのアーカイブを解凍します。ファイル名など適宜最適にしてください。
tar -xzvf Install_NDI_SDK_v5_Linux.tar.gz
NDI SDKのインストーラースクリプトを実行します。インストール時の質問には10番までエンターでスキップしてから`Y`を押して同意します。10番を超えたら1回ずつエンターを押さないとスキップしてしまいます。
sudo ./Install_NDI_SDK_v5_Linux.sh
NDI SDKのインストールディレクトリに移動します。ファイル名などバージョンによって若干ちがうかもしれませんので、lsなどで確認してください。要はlibのなかのx86_64-linux-gnuに進みます。
cd 'NDI SDK for Linux'
cd lib
cd x86_64-linux-gnu
NDIライブラリをシステムのライブラリディレクトリにコピーします。ライブラリキャッシュを更新します。直接ライブラリを移動すれば、環境変数など変更しなくてよいからです。lsでx86_64-linux-gnuのなかにlibndi.so.5.6.0などのファイルが3つぐらいあるはずです。それらを全部移動します。libndi.so.5.6.0だけ移動するのでもよいのかもしれません。
sudo cp libndi.so* /usr/local/lib/
sudo ldconfig
/sbin/ldconfig.real: /usr/local/lib/libndi.so.5 はシンボリックリンクではありませんなど表示されるでしょう。libndi.so.5が実際のファイルであることを確認し削除します。
sudo rm /usr/local/lib/libndi.so.5
libndi.so.5.6.0への正しいシンボリックリンクを作成します。再度ldconfigを実行して、ライブラリキャッシュを更新します。エラーが無くなるはず。
sudo ln -s libndi.so.5.6.0 /usr/local/lib/libndi.so.5
sudo ldconfig
次にubuntuにOBSをインストールします。
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio
NDIのプラグインOBS-NDIを入れます。ubuntuなので、x86_64-linux-gnu.debを入れます。
https://github.com/obs-ndi/obs-ndi/releases
インストーラーを実行します。
sudo dpkg -i obs-ndi-4.13.0-x86_64-linux-gnu.deb
OBSを起動するとNDIが出てきました。OBSの使い方はwindowsと共通です。
番外USBカメラの映像をNDI化するならNDI toolだけでもできる
NDI toolは、Windows向けに使いやすいツールをまとめられたソフトウェアです。同じく無料で使えます。Windowsだけに提供されている機能も多いのです。いっけんわかりにくいのが特徴です。わかると簡単です。
インストールして、NDI toolでUSBカメラの映像をNDI化してみます。いっけんWebcamから作業するように見せかけて、実はスクリーンキャプチャーからNDI化します。まさに予想外。
スクリーンキャプチャーをクリックすると、画面が立ち上がらず。。。実はwindowsの右下のタスクの隠れたところに出てきます。予想外!
隠されたアイコンを右クリックするとメニューが出てきます。webカメラの部分を選択してカメラや解像度を指定します。
以上で完了です。USBカメラの映像がNDIとして流れました。
NDIを使うことで、ネットワークで繋いだ複数のカメラからの映像をNDIを通じて受信し、OBSで切り替えながらライブ配信を行うことが可能です。NDIは高品質なビデオストリームをネットワーク経由で簡単に送受信できるため、様々な用途で活用できるでしょう。