【ATEM Streaming Bridge】ネットワーク機能詳細 Deep Dive

ATEM Streaming Bridgeの持つネットワーク機能について、マニュアルに載っていない内容を詳細に解説します。

2020/12/06
Pocket

こんにちは、田中司恩(@tnk4on)です。この記事はBlackmagic Advent Calendar 2020の6日目の記事になります。
ATEM Streaming Bridgeの基本機能については前回記事を参照してください。

ATEM Streaming BridgeはIT機器?

ATEM Streaming Bridgeは放送映像機器メーカーのBlackmagic Designの製品ですが中身は間違いなくIT機器です。ネットワークサービス(サーバー機能)が搭載されていることからネットワークアプライアンス製品と言ってもよいかもしれません。かろうじてHDMIやSDIなどの映像関連コネクタが付いていますが多くの機能はネットワーク関連のものとなっています。正しくこの製品を使いこなすためにはITの知識でネットワーク機能を理解する必要があります。
「IT機器にはITのお作法で」。このモットーでネットワーク機能にDeep Diveしていきます。

ATEM Streaming Bridgeの待ち受けポート番号

ポートスキャンツール「nmap」を使って待受TCPポート番号を調べます。

$ sudo nmap 192.168.1.131 -sA -p 1-65535
Starting Nmap 7.70 ( https://nmap.org ) at 2020-12-05 16:41 JST
Nmap scan report for 192.168.1.131
Host is up (0.00011s latency).
Not shown: 65533 filtered ports
PORT STATE SERVICE
1935/tcp unfiltered rtmp
9977/tcp unfiltered unknown
MAC Address: 7C:2E:0D:XX:XX:XX (Blackmagic Design)

Nmap done: 1 IP address (1 host up) scanned in 1187.24 seconds

RTMPで使用するTCP 1935TCP 9977が空いていることが分かりました。TCP 9977はATEM Setupを使ってアプリケーション操作を行う場合のポート番号です。

直接接続時の通信

前回記事でATEM Streaming Bridgeの接続構成について紹介しました。

ATEM Streaming Bridgeの3つの接続方法

ATEM Streaming Bridgeの3つの接続方法

直接通信時、イーサネットケーブルでATEM Mini ProとATEM Streaming Bridgeを直結した場合、IPアドレスの設定をしていないのに通信できるのはなぜでしょう?直接接続時にATEM Setupを開いてみるとその理由が分かります。ATEM Mini ProとATEM Streaming BridgeのDHCP選択時、IPアドレスは下記のようになっていました。

  • ATEM Mini Pro:169.254.223.118
  • ATEM Streaming Bridge:169.254.186.243

これはリンクローカルアドレスでAPIPA(Automatic Private IP Addressing)を使って設定されたものです。ネットワークが閉じているためDHCPによるIPアドレスの取得ができない、といった場合に自動的に一対一の通信が可能になります。直接接続時はこのリンクローカルアドレスを用いて通信を行っています。

ローカルネットワーク接続時の通信

DHCPや静的IPアドレスを機器に設定し、ローカルネットワーク接続を行った場合の通信はどうなるでしょうか?テスト環境では静的IPアドレスを下記のように設定しました。

  • ATEM Mini Pro:192.168.1.130
  • ATEM Streaming Bridge:192.168.1.131

通常であればこのIPアドレスを使って通信すると考えますが実際は違っていました。下記はATEM Streaming Bridgeにつながっているネットワークポートをミラーリングし、Wireshark でキャプチャしたものです。

ON AIR時キャプチャ

ON AIR時キャプチャ

No.72がRTMP通信が始まった箇所ですが、SourceとDestinationのIPアドレスがリンクローカルアドレスになっています。No.57から68付近は設定した静的IPアドレスを使ってmDNSによる名前解決が行われています。実際にON AIR状態になった後は「APIPAで設定したリンクローカルアドレスで通信している」ことが分かりました。これは自動的に行われる機器の仕様のようです。

インターネット接続時のポート開放チェック

ATEM Streaming Bridgeをインターネット経由で使用する場合は、ATEM Setup内のStream Serviceの項目でBroadcast Fromの選択をInternetに変更します。この時、インターネット側から通信できる状態、すなわちポート開放が正常にできているとStatusは「Visible worldwide」となります。このチェックはどうやって行っているのでしょうか?

インターネット接続正常時

インターネット接続正常時

インターネット接続チェック時の通信をWiresharkでキャプチャしました。その結果下記のような動作が分かりました。

名前解決部分

名前解決部分

ポートチェック部分

ポートチェック部分

  1. ATEM Streaming BridgeがDNSサーバー(8.8.8.8/8.8.4.4)に対して「product-api.blackmagicdesign.com」の名前解決を行う
  2. 「product-api.blackmagicdesign.com」のAレコードに対して、TCP 443で通信を行う
  3. 50.18.213.146 から TCP 1935でATEM Streaming Bridgeに対して通信が行われる

最後のTCP 1935へのアクセスができることにより、インターネット接続チェックがパスした、となるようです。なお、WHOISで調べるとproduct-api.blackmagicdesign.comのAレコード、50.18.213.146 どちらもAWSのus-west-1のIPアドレスレンジ内でした。

このインターネット接続のチェックは「30秒ごとに自動で定期的」に行われます。

30秒ごとに定期的にチェックが行われる

30秒ごとに定期的にチェックが行われる

なお、テスト環境ではルーターでTCP 1935をポートフォワードし、LAN内にATEM Streaming Bridgeを配置したまま通信ができることを確認しました。ちゃんとポート開放がさえできればATEM Streaming BridgeにグローバルIPアドレスを割り当てる必要はありません

インターネット接続チェックが通らない場合、ストリームは流れるのか?

お使いのネットワーク環境の制限が厳しく、決められた通信しか通せない場合にインターネット接続はできるのか?AWSのIPレンジとの通信はできないが、対向のATEM Mini Proのみ通信が許可される場合など、product-api.blackmagicdesign.com へのTCP 443での通信が閉ざされている場合、Internet StatusはPort fowarding errorとなります。

この状態でもインターネット側からATEM Streaming BridgeのTCP1935へ正常にポート開放が行われていると(対向のATEM Mini Pro通信許可含む)、問題なくATEM Mini ProからON AIRは可能です。

実機のINTERNET OKのステータスは消灯

実機のINTERNET OKのステータスは消灯

このテスト環境ではATEM Mini ProとATEM Streaming Bridgeは同じ場所にありますが、異なるインターネットゲートウェイが設定されてあり、通信はインターネット経由で行われています。

Disable remote configuration via Ethernetは何を無効にするのか?

リモート管理についてマニュアルには下記のように記載されています。

ATEM Streaming Bridgeの設定をアップデートするには、USBで接続しますが、ローカルネットワーク上 でイーサネット経由で接続することも可能です。しかし、誰でもATEM Setupを起動してATEM Streaming Bridgeの設定を変更できるため、安全上の問題が生じます。安全性を向上するために、イーサネット経由のリモート管理を無効にして、USB経由でのみATEM Streaming Bridgeの設定を変更可能にする設定があります。

待ち受けポート番号のチェック時に確認した時にTCP 9977が空いていました。この項目にチェックを入れて変化を確認します。

(チェック前)
$ sudo nmap 192.168.1.131 -sA -p 9977
Starting Nmap 7.70 ( https://nmap.org ) at 2020-12-06 07:37 JST
Nmap scan report for 192.168.1.131
Host is up (0.00019s latency).

PORT STATE SERVICE
9977/tcp unfiltered unknown
MAC Address: 7C:2E:0D:XX:XX:XX (Blackmagic Design)

Nmap done: 1 IP address (1 host up) scanned in 0.48 seconds

(チェック後)
$ sudo nmap 192.168.1.131 -sA -p 9977
Starting Nmap 7.70 ( https://nmap.org ) at 2020-12-06 07:37 JST
Nmap scan report for 192.168.1.131
Host is up (0.00015s latency).

PORT STATE SERVICE
9977/tcp filtered unknown
MAC Address: 7C:2E:0D:XX:XX:XX (Blackmagic Design)

Nmap done: 1 IP address (1 host up) scanned in 0.48 seconds

TCP 9977が閉じられ、STATEがfilteredになったことが分かりました。
この設定はATEM Streaming BridgeにグローバルIPアドレスをアサインする時や全ポートをフォワードする時など、インターネット側から TCP 9977へアクセス出来てしまう場合にも有効です。是非チェックしておきましょう。

 

まとめ

ATEM Streaming BridgeをIT機器として見た場合のネットワーク関連機能について詳細に解説しました。マニュアルには詳細に載っていない動作が多くあり、中身をよく知ることで想定の動作ではうまく行かない場合のトラブルシュートに役立つと思います。
今回は機能の解説のみでしたが、実際にインターネット経由で接続した場合の遅延や品質などについてはまた記事を書く予定です。そちらもお楽しみにしてください。

PAGE TOP