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

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

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.