Настройка сети для P2P-взаимодействия Addreality Player

В Addreality Player технология Peer-to-Peer (P2P) используется для синхронизации воспроизведения на нескольких экранах (создание видеостен, дублирование контента) и локальной раздачи медиафайлов между плеерами без участия внешнего сервера.

Чтобы устройства стабильно "видели" друг друга и обменивались данными без задержек, локальная сеть (LAN) должна быть правильно сконфигурирована. Данная инструкция описывает технические требования к P2P-взаимодействию для Windows и других операционных систем (за исключением смарт-панелей Tizen и WebOS, которые по умолчанию используют протокол RTMFP).

1. Базовые требования к топологии сети

Для успешного P2P-соединения все устройства должны находиться в единой среде:

  • Все плееры должны находиться в рамках одной локальной сети (в одной подсети).
  • Устройства должны быть подключены к одному личному кабинету (платформе) и использовать плееры одной версии.
  • На уровне сетевого оборудования (роутеры, коммутаторы) должен быть явно разрешен обмен данными по протоколам UDP и TCP/IP.
  • Сеть должна пропускать рассылку широковещательных UDP-пакетов (Broadcast), а также TCP/IP Multicast. Должен быть доступен и разрешен протокол IGMPv2.

2. Используемые протоколы и порты

Следует убедиться, что внутренние брандмауэры (Firewall) не блокируют следующие порты и адреса:

Для связки UDP + TCP/IP (Основной режим для Windows/Linux/Android):

  • Поиск "соседей" (Discovery): Плеер отправляет серию из 200 сообщений в течение 6 секунд через UDP Broadcast на порт 30001.
  • Обмен данными: После того как устройства нашли друг друга, общение происходит через TCP/IP сокеты. Используются порты: 30002, 30012, 30102, 30502. Плееры прослушивают все четыре порта и занимают первый доступный.
  • Ускорение доставки: Для критичных ко времени функций (синхронизация видео, мгновенные команды) применяется дублирование отправки. Сообщения отправляются 3 раза через UDP Unicast на порт 30001.

Для протокола RTMFP (если используется):

  • Мультикаст адрес/порт: 239.13.4.1:30000.
  • Особенность: В этом режиме отправка сообщений использует гибрид Broadcast и Multicast с автоматическим делением устройств на подгруппы с ретрансляцией (при этом явный поиск "соседей" не производится).

3. Специфика настройки ОС Windows

Встроенные механизмы защиты Windows часто блокируют P2P-трафик по умолчанию. На плеерах с этой ОС необходимо выполнить следующие настройки:

  • Профиль сети: При использовании Wi-Fi подключения (или первичной настройке Ethernet) обязательно переведите профиль сети в статус «Частная» (Private). В публичных сетях Windows жестко блокирует локальный обмен.
  • Сетевое обнаружение: В «Центре управления сетями и общим доступом» должно быть включено Сетевое обнаружение (Network discovery), иначе встроенный брандмауэр не позволит устройствам найти друг друга.

4. Рекомендации для максимально стабильной работы P2P в Addreaslity Player

Для достижения идеальной синхронизации (кадр-в-кадр) и исключения сбоев рекомендуем придерживаться следующих правил при проектировании сети:

  1. Изолированная подсеть: Выделите плееры в отдельный VLAN или подключите к отдельному физическому маршрутизатору, чтобы исключить влияние посторонних устройств и служб на широковещательный трафик.
  2. Только Ethernet: Откажитесь от Wi-Fi в пользу проводного подключения. Беспроводные сети добавляют микрозадержки (пинг) и потерю пакетов, что критично для синхронизации видео.
  3. Один сетевой интерфейс: На устройстве должен быть активен только один сетевой адаптер. Одновременно включенные Ethernet и Wi-Fi (или несколько сетевых карт) могут привести к неработоспособности P2P.
  4. Отсутствие виртуальных адаптеров: Интерфейсы виртуальных машин (например, VirtualBox, VMware) и активные VPN-туннели нарушают маршрутизацию широковещательных пакетов. Их необходимо отключить.
  5. Унификация оборудования: Для видеостен используйте абсолютно идентичные плееры (одна модель, одинаковые комплектующие, одна версия прошивки, ОС и плеера Addreality). Разное железо может обрабатывать видео с разной скоростью, сводя на нет сетевую синхронизацию.