メインコンテンツまでスキップ

ポートとネットワークの動作

Insightは、通常動作中に複数のポートを使用します。デフォルトのポートは、SDKコンテナー内または直接インストールされたDevKitで使用されるポートです。Neat開発環境では、SDKはこれらのサービスをホストポートに公開します。デフォルトのホストポートがすでに使用されている場合、sima-cliを使用して、別の利用可能なホストポートを割り当てることができます。

ブラウザクライアント、Modalix DevKit、SDKホストマシン、およびSDKコンテナー間のInsightポートとネットワークパス。

ポートマップ名デフォルトのポートまたはポート範囲プロトコル目的
mainUI9900HTTPS/TCP主な Insight ウェブ UI、HTTP API、および HTTP MJPEG ストリーミングソース。
videoUI8081HTTPS/TCPWebRTC ビデオビューアーのユーザーインターフェース。
rtsp.tcp8554RTSP/TCPアップロードされたメディアから作成された、RTSP ストリーミングソース。
videoUDP9000-9079UDP動画 RTP 視聴者向けチャンネルに配信 0-79.
metadataUDP9100-9179UDPメタデータ JSON 視聴者向けチャンネルに配信 0-79.
webRTC40000-40199UDPWebRTC:メディアおよびメタデータ。vfからブラウザへのDataChannelによるデータ送信。
webSSH8022HTTPS/TCP利用可能な場合は、ペアリングされた DevKit にブラウザシェルを接続します。

実際の SDK ポートマップを見つけてください。

SDKでは、デフォルトのホストポートが利用可能であると仮定しないでください。次のコマンドを実行してください。

neat --json

出力には、insight.webUiUrl と、exposedPorts という配列が含まれます。

{
"exposedPorts": [
{"hostPortEnd": null, "hostPortStart": 9900, "name": "mainUI", "protocol": "tcp"},
{"hostPortEnd": 9179, "hostPortStart": 9100, "name": "metadataUDP", "protocol": "udp"},
{"hostPortEnd": null, "hostPortStart": 8554, "name": "rtsp.tcp", "protocol": "tcp"},
{"hostPortEnd": 9079, "hostPortStart": 9000, "name": "videoUDP", "protocol": "udp"},
{"hostPortEnd": null, "hostPortStart": 8081, "name": "videoUI", "protocol": "tcp"},
{"hostPortEnd": 40199, "hostPortStart": 40000, "name": "webRTC", "protocol": "udp"},
{"hostPortEnd": null, "hostPortStart": 8022, "name": "webSSH", "protocol": "tcp"}
],
"insight": {
"serviceState": "Running",
"venv": "/opt/neat-insight/venv",
"webUiUrl": "https://10.0.0.210:9900"
}
}

ホストポートが再マッピングされた場合、hostPortStartの値は、外部クライアントが使用すべきポートです。hostPortEndは、ビデオ、メタデータ、WebRTCなどのポート範囲に対して使用されます。

チャンネルマッピング

ビデオビューワーは、ペアになったビデオポートとメタデータポートを使用します。チャンネルについては、 N:

video: UDP 9000 + N
metadata: UDP 9100 + N

例:

視聴者チャンネルビデオポートメタデータポート
090009100
190019101
290029102

ビデオとメタデータのチャンネル番号を一致させてください。アプリケーションがチャンネル3にビデオを送信する場合は、対応するメタデータをチャンネル3のメタデータポートに送信してください。

SDK ポートマッピング

Neat 開発環境では、SDKコンテナーによってポートが再マッピングされる場合があります。Insight は、利用可能な場合にSDKポートマップ構成を読み込み、UIリンクがブラウザからアクセス可能なホストポートを指すようにします。

これは、特にビデオビューアーにとって重要です。内部のデフォルトビューアーポートは8081ですが、SDKがvideoUIを別のホストポートにマッピングする場合、ブラウザに表示されるポートが異なる場合があります。

URLが間違っていると仮定する前に、Insight UIのシステム情報を使用して、実際に公開されているポートを確認してください。

ポートマップを使用してアプリケーションを設定します。

アプリケーションのインストール場所に基づいて、デフォルトのコンテナポートを使用するか、SDKで公開されているホストポートを使用するかを決定します。

アプリケーションの場所InsightからのRTSP入力ビデオ/メタデータを出力して、Insight に送信します。
SDKコンテナ内rtsp://127.0.0.1:8554/srcN127.0.0.1:9000 + channel127.0.0.1:9100 + channel
DevKit、または別の外部マシンでrtsp://<sdk-host-ip>:<rtsp.tcp hostPortStart>/srcN<sdk-host-ip>:<videoUDP hostPortStart + channel><sdk-host-ip>:<metadataUDP hostPortStart + channel>

HTTP MJPEGソースは、メインのInsight UI/APIポートを使用します。SDKでは、これらのURLに対して、neat --jsonからmainUIホストポートを使用してください。

たとえば、neat --jsonが以下のように報告する場合:

{"name": "rtsp.tcp", "hostPortStart": 18554, "protocol": "tcp"}
{"name": "videoUDP", "hostPortStart": 19000, "hostPortEnd": 19079, "protocol": "udp"}
{"name": "metadataUDP", "hostPortStart": 19100, "hostPortEnd": 19179, "protocol": "udp"}

次に、DevKit 上で動作するアプリケーションは、以下を使用する必要があります。

RTSP source src1: rtsp://<sdk-host-ip>:18554/src1
video channel 0: <sdk-host-ip>:19000
metadata channel 0: <sdk-host-ip>:19100
video channel 3: <sdk-host-ip>:19003
metadata channel 3: <sdk-host-ip>:19103

アプリケーションとInsightが同じSDKコンテナー内で実行される場合は、代わりにデフォルトのローカルポートを使用してください。

関連ツール

  • Neat 開発環境は、Insight がパッケージ化されたコンテナ化されたビルドおよび実行環境を提供します。
  • Neat ライブラリは、ビジョン関連のワークロードを構築および実行するために使用されるアプリケーション API を提供します。
  • sima-cli は、Insight パッケージやその他の Neat 関連ファイルをインストールおよびアップグレードします。
  • モデルコンパイラとLLiMaは、ワークスペースを通じて確認でき、Insightとともに実行されるアプリケーションを通じて検証できるモデル成果物を生成します。