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

| Назва відображення портів. | Порт або діапазон за замовчуванням. | Протокол | Мета |
|---|---|---|---|
mainUI | 9900 | HTTPS/TCP | Основне Insight веб-інтерфейс, HTTP API та джерела потокового відео HTTP MJPEG. |
videoUI | 8081 | HTTPS/TCP | Інтерфейс користувача для перегляду відео WebRTC. |
rtsp.tcp | 8554 | RTSP/TCP | RTSP джерела потокового відео, створені на основі завантажених медіафайлів. |
videoUDP | 9000-9079 | UDP | Завантаження відео для каналів перегляду 0-79 RTP. |
metadataUDP | 9100-9179 | UDP | Метадані JSON для каналів перегляду 0-79. |
webRTC | 40000-40199 | UDP | WebRTC передавання медіаданих і метаданих через канал DataChannel від віртуальної функції до браузера. |
webSSH | 8022 | HTTPS/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
Наприклад:
| Ка нал для глядачів. | Відеопорт | Порт метаданих. |
|---|---|---|
0 | 9000 | 9100 |
1 | 9001 | 9101 |
2 | 9002 | 9102 |
Забезпечте узгодженість номера каналу між відео- та метаданими. Якщо ваша програма надсилає відео на канал 3, надсилайте відповідні метадані до порту метаданих для каналу 3.
Відображення портів SDK.
У середовищі розробки Neat порти можуть бути перепризначені контейнером SDK. Insight зчитує конфігурацію відображення портів SDK, коли вона доступна, щоб посилання в інтерфейсі користувача вказували на порт хоста, до якого можна отримати доступ через браузер.
Це особливо важливо для переглядача відео. Внутрішній порт переглядача за замовчуванням — 8081, але порт, який відображається в браузері, може бути іншим, коли SDK відображає videoUI на інший порт хоста.
Використовуйте розділ «Системна інформація» в інтерфейсі користувача Insight, щоб перевірити фактичні відкриті порти, перш ніж припускати, що URL-адреса вказана неправильно.
Налаштуйте програми, використовуючи карту портів.
Використовуйте розташування застосунку, щоб визначити, чи використовувати стандартні порти контейнера, чи порти, відкриті хостом SDK.
| Місце розташування застосунку. | RTSP вхідні дані від Insight | Виведення відео/метаданих у Insight. |
|---|---|---|
| Всередині контейнера SDK. | rtsp://127.0.0.1:8554/srcN | 127.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.