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

Нотатки для хоста macOS

Використовуйте цей посібник, якщо ваша хост-машина працює під керуванням macOS, і ви хочете запустити Neat, середовище розробки (далі Neat SDK) з DevKit-Sync.

Необхідні умови.

  • хост macOS.
  • sima-cli встановлено на хості.
  • Modalix і DevKit повинні бути доступні в одній мережі.
Топологія мережі.

У macOS ви можете під’єднати DevKit безпосередньо до хоста через USB/Ethernet або розмістити хост і DevKit окремо в існуючій мережі. Якщо вони знаходяться в існуючій мережі, спеціальне налаштування спільного доступу не потрібне, якщо хост і DevKit можуть взаємодіяти між собою для SSH і NFS-трафіку.

Встановіть і запустіть Colima.

Встановіть і запустіть Colima, щоб Docker міг працювати на macOS.

brew install colima docker
colima start
docker ps

Якщо Colima вже встановлено, переконайтеся, що воно запущено, перш ніж використовувати sima-cli sdk setup.

Права доступу NFS на macOS.

DevKit-Sync використовує експорт NFS на хості під час налаштування SDK. На macOS переконайтеся, що nfsd має повний доступ до диска, інакше експорт або монтування робочого простору хоста може завершитися невдало.

Інструкції:

  1. Відкрийте «Налаштування системи».
  2. Перейдіть до розділу «Конфіденційність і безпека» > «Повний доступ до диска».
  3. Натисніть +, потім натисніть Cmd + Shift + G і введіть /sbin/.
  4. Виберіть nfsd і переконайтеся, що для нього встановлено відповідні дозволи.
  5. Повторно запустіть налаштування SDK після надання дозволу.

Спільний доступ до Інтернету для прямого з’єднання Mac з DevKit.

Використовуйте цю схему, коли DevKit не може безпосередньо під’єднатися до вашої звичайної мережі та повинен мати доступ до Інтернету через пряме USB/Ethernet-з’єднання з вашим Mac.

  1. На DevKit налаштуйте підключений мережевий інтерфейс на отримання IP-адреси автоматично (через DHCP). Зазвичай це налаштування використовується за замовчуванням.
  2. На macOS відкрийте System Settings > General > Sharing > Internet Sharing.
  3. Вкажіть у полі «Налаштування спільного доступу до з’єднання» значення Wi-Fi.
  4. Увімкніть спільний доступ до інтерфейсу USB/Ethernet, до якого підключено DevKit.
  5. На Mac переконайтеся, що інтерфейс USB/Ethernet також налаштовано для використання DHCP.

Після ввімкнення функції «Інтернет-з’єднання», активний USB/Ethernet-інтерфейс на Mac має отримати адресу (наприклад, en0 або en1, залежно від вашого адаптера та налаштувань хоста).

Обхід DNS на DevKit.

У цьому сценарії з прямим підключенням DNS на DevKit може залишатися неправильно налаштованим, навіть якщо DHCP виконано успішно. Якщо розпізнавання імен не вдається, оновіть файл /etc/resolv.conf на DevKit:

sudo nano /etc/resolv.conf

Набір:

nameserver 8.8.8.8
nameserver 127.0.0.1

Вирішення проблем із відтворенням відео Insight за допомогою перенаправлення UDP Colima.

Якщо Insight відкривається в браузері, але пряма трансляція відео не відображається, можливо, пакети UDP не досягають контейнера SDK. У macOS із Colima це може статися, коли Colima використовує переадресацію портів SSH. Docker може й надалі показувати очікувані відображення портів UDP, але шлях переадресації від хоста до віртуальної машини Colima може не передавати трафік UDP до контейнера.

Зазвичай SDK публікує такі діапазони UDP:

  • 9000-9079/udp для відео
  • 9100-9179/udp для метаданих
  • 40000-40199/udp для WebRTC

Якщо контейнер SDK запущено, і ці UDP-налаштування присутні, перевірте налаштування переадресації портів Colima. SSH-переадресація підтримує лише TCP, тоді як gRPC-переадресація підтримує як TCP, так і UDP.

Переналаштуйте Colima для використання gRPC-переадресації:

colima stop
colima start --edit

В редакторі змініть:

portForwarder: ssh

до:

portForwarder: grpc

Потім перезапустіть SDK:

sima-cli sdk stop
sima-cli sdk start
sima-cli sdk neat

Перевірте, чи Docker, як і раніше, відкриває UDP-порти:

docker ps --format 'table {{.Names}}\t{{.Ports}}'

Перевірте, чи містить контейнер SDK значення 9000-9079/udp, 9100-9179/udp та діапазон UDP для WebRTC.

Під час передавання відео перевірте, чи бачить Insight вхідні пакети всередині SDK:

curl -k 'https://127.0.0.1:9900/api/ingest/stats?all=1&verbose=1'

Перевірте, чи збільшується значення packets_received на очікуваному каналі. Переконайтеся, що відправник націлений на IP-адресу хоста Mac і правильний UDP-порт, а не на IP-адресу контейнера SDK. Канал 0 використовує UDP 9000, канал 1 використовує UDP 9001 і так далі.

Якщо UDP все ще не досягає Insight після перемикання Colima на перенаправлення gRPC, протестуйте з Docker Desktop або хостом Linux. У цьому випадку відображення портів SDK і Docker, ймовірно, правильні, і залишається лише підозрілий шар – шлях перенаправлення UDP Colima в macOS.

Наступний крок.

Поверніться до Neat SDK і продовжуйте встановлення/налаштування.