Перейти до основного вмісту

Порти та мережева поведінка.

Insight використовує кілька портів під час нормальної роботи. Порти за замовчуванням — це порти, які використовуються всередині контейнера SDK або на безпосередньо встановленому DevKit. У середовищі розробки Neat, SDK публікує ці служби на портах хоста. Якщо порт хоста за замовчуванням вже використовується, sima-cli може виділити інший доступний порт хоста.

 Шляхи портів і мережі Insight між клієнтським браузером, Modalix, DevKit, хост-машиною SDK і контейнером SDK.

Назва відображення портів.Порт або діапазон за замовчуванням.ПротоколМета
mainUI9900HTTPS/TCPОсновне Insight веб-інтерфейс, HTTP API та джерела потокового відео HTTP MJPEG.
videoUI8081HTTPS/TCPІнтерфейс користувача для перегляду відео WebRTC.
rtsp.tcp8554RTSP/TCPRTSP джерела потокового відео, створені на основі завантажених медіафайлів.
videoUDP9000-9079UDPЗавантаження відео для каналів перегляду 0-79 RTP.
metadataUDP9100-9179UDPМетадані JSON для каналів перегляду 0-79.
webRTC40000-40199UDPWebRTC передавання медіаданих і метаданих через канал 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, коли вона доступна, щоб посилання в інтерфейсі користувача вказували на порт хоста, до якого можна отримати доступ через браузер.

Це особливо важливо для переглядача відео. Внутрішній порт переглядача за замовчуванням — 8081, але порт, який відображається в браузері, може бути іншим, коли SDK відображає videoUI на інший порт хоста.

Використовуйте розділ «Системна інформація» в інтерфейсі користувача Insight, щоб перевірити фактичні відкриті порти, перш ніж припускати, що URL-адреса вказана неправильно.

Налаштуйте програми, використовуючи карту портів.

Використовуйте розташування застосунку, щоб визначити, чи використовувати стандартні порти контейнера, чи порти, відкриті хостом SDK.

Місце розташування застосунку.RTSP вхідні дані від InsightВиведення відео/метаданих у Insight.
Всередині контейнера SDK.rtsp://127.0.0.1:8554/srcN127.0.0.1:9000 + channel та 127.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 використовують основний порт UI/API Insight. У SDK використовуйте основний порт хоста mainUI з neat --json для цих URL-адрес.

Наприклад, якщо 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 Library містить програмні інтерфейси (API), які використовуються для розробки та запуску обчислювальних завдань, пов’язаних із комп’ютерним зором.
  • sima-cli встановлює та оновлює пакети Insight та інші артефакти Neat.
  • Компілятор моделей і LLiMa створюють артефакти моделей, які ви можете переглядати в робочому просторі та перевіряти за допомогою програм, що працюють разом із Insight.