search
LoginSignup
11

More than 1 year has passed since last update.

posted at

updated at

Organization

Node-RED から ATEM mini を操作してみた。

はじめに

最近、特定少人数のオフラインイベントの配信や完全オンラインイベントの配信活動が増えてきました。
その時に大活躍してくれるのが ATEM mini ですが、USB Type-C で接続する他にネットワーク経由で操作することができます。
手元でボタン操作ができない時にリモートから画面を切り替える場合、ATEM Software Control を使用します。
ネットワーク経由で操作できるということで、Node-RED から ATEM mini を操作してみました。

title.png

BMD プロトコル

ネットワーク経由で操作する際に BMD (Black Magic Design) というプロトコルが使用されていることが分かりました。Wireshark を起動してプロトコルの内容を見てみることにします。
デフォルトの Wireshark では BMD プロトコルを解析できませんので、プラグインをインストールします。
以下、macOS を例に説明します。

lua のインストール

$ brew install lua

解析プラグインのインストール

$ mkdir ~/.config/wireshark
$ mkdir ~/.config/wireshark/plugins
$ git clone https://github.com/peschuster/wireshark-atem-dissector
$ mv wireshark-atem-dissector/atem_dissector.lua ~/.config/wireshark/plugins

Wireshark を起動すると、ATEM mini と ATEM Software Control が通信している内容を確認することができます。

ATEM Switchers SDK

ATEM Switchers 8.1.2 SDK (執筆時点) が公開されており、オリジナルのスイッチャーアプリを作成することができます。
サンプルのアプリケーションがソースコードと一緒に含まれていますので、すぐに試すことができます。
以下はシンプルなスイッチャーパネルアプリです。
SDK_explorer.png
ATEM_SDK.png

Node-RED モジュール

以下、macOS 上の Node-RED デスクトップアプリ を例に説明します。
Node-RED を起動して右上の「Menu (メニュー)」から「Manage palette (パレットの管理)」を選択すると「User Settings (ユーザ設定)」画面が表示されます。
node-red_desktop.png
「Install (ノードを追加)」タブを選択し、検索フォームで「blackmagic」と入力して検索するといくつかリストアップされます。
blackmagic-atem-nodered」の「install (ノードを追加)」ボタンを押下します。
node-red_modules 2.png
パレットに新しいノード (BlackMagic / ATEM) が追加されていることを確認します。
flow_atem_00.png

サンプルフロー

ATEM mini の入力 1 と 入力 2 を切り替えるシンプルなフローを作成しました。
(サンプルフローはこちらからダウンロードできます。)

flow_atem_01.png
ATEM ノードの設定は ATEM mini の IP アドレスを設定するだけです。
ATEM_node_01.png
ATEM_node_02.png

ATEM ノードへの入力は function ノードで msg.payload にコマンドとデータを設定するだけです。
input1.png input2.png

他に使用できるコマンドとデータについてはこちらで確認することができます。

それでは、みなさまも良き配信ライフを!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
11