2020年4月24日金曜日

OBS websocketプラグインを使って遠隔操作する方法

OBS websocketプラグインとOBS Remote Tabletを使うと、携帯電話のブラウザなどからOBS Studioを遠隔操作できるようになります。
使用するツールとその接続は以下の図のようになります。
インストール手順を簡単に説明します。
  1. OBS Studioはきっと既にインストール済みでしょう...
  2. OBS websocketプラグインをインストールします。リリースページはこちら。
  3. インストールしてOBSを起動したら、メニューのTools → WebSockets Server Settingsから設定を確認します。
    LANにアクセスできる人が信用できる人に限られている場合は、すなわち不特定多数がLANにアクセスできない場合には、パスワードは設定しなくても良いでしょう。
  4. ファイアウォールのポートを設定します。(LAN内から接続できれば良いので、ルーターのポート解放などは不要です。)
    もしFirewalldを使っているのであれば、TCPの4444番ポートを解放するのは以下のコマンドになります。
    sudo firewall-cmd --permanent --add-port=4444/tcp
  5. 携帯電話またはタブレットから、http://t2t2.github.io/obs-tablet-remote/へアクセスします。 Hostには、OBSが走っているホストのIPアドレスを入れましょう。
    httpsではなくhttpでアクセスすることに注意しましょう。OBS websocketプラグインとの通信は暗号化されていませんが、ブラウザのセキュリティ設定によっては、httpsのページから暗号化されていない通信を行うことができません。
長所・短所など。
  • テキストのやりとりだけなので、動作が軽快です。その代わり、映像は見えません。最近になってOBS WebSocketsにソースのスクリーンショットを送る機能が追加されたのですが、いずれシーンのサムネイルを表示できるようになるかもしれません。
  • 何を表示するか、レイアウト設定から変えることができます。シーン切り替え以外に、トランジションの時間、表示中のソース、ストリーミングのステータスがあります。
  • スタジオモードには対応していないようです。シーン切り替えはすぐにライブへ行きます。
使用していて、以下の問題に気づきました。
  • IPv6とIPv4と両方のアドレスを持っている場合、websocketプラグインは片方のアドレスしかlistenしないようです。別のPCで使用していたときは問題なかった気がするので、デバッグが必要そうです。
  • iPhoneで使用すると、シーン切り替えでゆっくりタップすると、テキスト選択になり、シーンが切り替わらなくなることがあります。一度テキストが選択されると、同じ場所をタップしてもシーン切り替えの動作にはなりません。ページをリロードすることでテキスト選択を解除することができます。
    CSSで回避できるようなので、修正提案してみるかもしれません。 - 画面上の文字や画像を選択できないようにする

2020年4月14日火曜日

iPhone+OBS Studioでライブ配信する構成

スマートフォン (iPhone) のカメラで撮影し、NDIと呼ばれるプロトコルで、パソコン上のOBS Studioを経由してライブ配信する方法を紹介します。

最近のスマートフォンには高画質なイメージセンサーが搭載されることが多く、画角が広いことを除くと、ある程度綺麗な動画を撮影することができるようになってきました。 しかしながらスマートフォンのマイクはさほど良いものではなく、配信や記録しておくにはやや劣ってしまいます。 コンサートや礼拝ではオーディオミキサーを使用するでしょうから、PC上で音声をミキサーから取り込み、スマートフォンからの映像とあわせてライブ配信へと送ることを目指します。 もし複数のスマートフォンを使用すれば、設置場所を変えて複数のシーンを切り替えながら配信することもできます。

機材の構成

使用する機材を説明します。

  • iPhone - NDI HX Cameraをインストールしておきます。 以前はAndroidのアプリケーション (NewTek NDI) もあったのですが、残念なことに、今はPlay Storeで入手できません。
  • PC - Mac OS X, Windows, Linuxならなんでも良いです。システム要件を確認しておきましょう。もしIntelのCPU内蔵GPUを使用しているのであれば、インテル グラフィックス・コントローラーの対応APIからOpenGLあるいはDirectXのバージョンを確認すると良いです。 また、以下のソフトをインストールします。
    • OBS Studio - 配信するために使用します。
    • OBS NDIプラグイン - iPhoneから届くNDIの映像をOBSへ取り込むソースプラグインです。さらにOBSからNDIで送信するプラグイン (フィルターとアウトプット) も付属していますが、今回はソースだけを使用します。
    • NDIランタイムライブラリ - OBS NDIプラグインが、このランタイムライブラリを使用してNDIのパケットを受け取ります。
  • 無線LANアクセスポイント - iPhoneとPCとを同一のローカルネットに接続する必要があります。少なくとも802.11nに対応していると良いでしょう。よくあるルーター・ハブ機能付の無線LANアクセスポイントを使用しましょう。私はWZR-600DHPを使用しています。

Linuxでのインストール方法

  1. OBSのインストール方法 - 別記事で解説しましたので、こちらをご覧ください。近日中に、Centos8へのインストール方法を記事にしようと思っています。
  2. OBS NDI Pluginのビルド・インストールは、他のプラグインと同じで簡単です。
    git clone https://github.com/Palakis/obs-ndi.git
    mkdir obs-ndi/build
    cd obs-ndi/build
    cmake -DLIBOBS_INCLUDE_DIR=$PWD/../../obs-studio/libobs -DCMAKE_INSTALL_PREFIX=/usr/local ..
    make
    sudo make install
        
  3. NDIランタイムライブラリのインストール - InstallNDISDK_v4_Linux.sh をダウンロードし、ファイルを展開、libndi.so*を/usr/local/libへコピーしましょう。他のファイルは不要です。あるいは、環境変数NDI_RUNTIME_DIR_V4にライブラリへのパスを設定しても読み込んでくれるはずです。
  4. NDIは、Bonjourをつかって情報をやり取りするようです。Avahiを走らせ、ファイアウォールを適切に設定しておきましょう。

その他の参考情報

  • Issue #448 - どうやら、音声にグリッチがのるなどの問題があるようです。iPhoneのNDI HX Camera側でオーディオをオフにしておくのがワークアラウンドになるようです。
  • ゲーム実況で使うPCについて理解しよう - もしPCを購入するのであれば、参考になる情報だと思います。要は、高性能なCPUが望ましいですが、メモリーはさほどコストをかけなくて良いということです。

2020年4月5日日曜日

ビデオの音声だけを編集する方法

撮影したビデオの音声部分だけを修正したくなった場合、音声だけを取り出して編集する方法があります。 音声だけを取り出すことで、コンピュータの処理を軽くして作業効率を上げたり、作業を分担することができます。
  1. ビデオファイルから音声をとりだす。
        ffmpeg -i input.mp4 -map 0:a audio.wav
        
  2. 音声ファイルを編集し、audio-edited.wavを作成する。
  3. もとのビデオファイルの音声を差し替える。
        ffmpeg -i input.mp4 -i audio-edited.wav -map 0:v -map 1:a -c:v copy -b:a 160k output.mp4
        
オプション-b:a 160kの部分は音声のビットレートです。適宜、変更してください。

色彩の印象について

このページに、PCCSトーンとその印象についてわかりやすく書かれていて参考になった。こんど映像を編集する機会があれば、このページを参考にしたいと思う。 著者は大学で映像制作を学んだ方のようで、基礎をわかりやすく説明されているように感じる。他の記事も読みたい。 【映像制作者が...