Как работают старый и новый WebSocket в OBS и в чем их основные отличия?

После замены старого роутера TP-Link на новый Xiaomi OBS (версия 32.1.1) перестал подключаться по WebSocket для удалённого управления со смартфона и планшета на Android. Я скачал <a href="https://github.com/obsproject/obs-websocket" rel="nofollow">старый и проверенный временем плагин</a> для WebSocket — и внезапно OBS снова подключился. Почему это могло произойти? Может ли дело быть в том, что старый плагин использует порт 4444? Сейчас у меня спокойно подключается по порту 4455. PS: роутер я не настраивал.
  • 18 апреля 2026 г. 10:02
Ответы на вопрос 2
Коротко — потому что «старый» и «новый» obs-websocket фактически разные вещи: разные порты по умолчанию, несовместимые протоколы/аутентификация и поведение по умолчанию (куда слушается сокет, как обрабатывается доступ). Поэтому замена версии плагина или его установка могла изменить то, как и на каком порту OBS принимает входящие соединения, а также какие правила в системе/файрволе были созданы.

Основные отличия старого и нового obs-websocket (в упрощении)
- Порт по умолчанию:
  - Старые версии плагина (v4.x и раньше) часто использовали 4444 по умолчанию.
  - Новая ветка (v5.x, которая стала стандартной для современных OBS/дистрибутивов) использует по умолчанию 4455.
- Протокол/совместимость:
  - v5 — несовместима с клиентами, написанными под v4. Это не просто другой порт — API/формат сообщений изменён.
- Аутентификация и форматы сообщений:
  - В v5 изменилась логика аутентификации и часть структуры запросов/ответов (клиенты должны поддерживать новую схему).
- Поведение по умолчанию (куда слушает, какие интерфейсы):
  - В настройках можно указать bind-address (localhost или 0.0.0.0). Разные версии/настройки могли по умолчанию слушать только локально или по всем интерфейсам.

Почему у вас восстановилась работа после установки старого плагина — возможные причины
1. Клиент на Android ожидал старый протокол/порт. Старый плагин вернул тот же API/порт (4444), и клиент вновь заработал.
2. При установке старого плагина/его запуске Windows (или другая ОС) мог показать запрос на разрешение в брандмауэре и вы автоматически дали доступ. Новая версия могла не вызывать такого запроса и её соединения блокировались.
3. Разные версии могли слушать на разных адресах (localhost vs все интерфейсы). Старый мог слушать на 0.0.0.0, а новая — только на 127.0.0.1 (или наоборот), поэтому устройство в сети не могло подключиться.
4. Маршрутизатор/сеть: Xiaomi-роутер мог назначить другому IP-диапазон, включить клиентскую изоляцию (AP isolation / guest mode) или как-то иначе ограничить локальные соединения. Но установка плагина на ПК сама по себе не меняет роутер, поэтому это менее вероятно как единственная причина, если только при установке вы не включили другой порт, который роутер «лучше пропускает».

Как проверить и устранить проблему — практические шаги
1. Уточните, какую версию obs-websocket и какой порт сейчас слушает OBS:
   - В OBS: Tools → obs-websocket Settings — посмотрите Port и Bind Address.
   - На ПК: netstat/ss (например, Windows: netstat -ano | findstr LISTEN | findstr 4455) — увидеть слушающие порты.
2. Проверьте совместимость клиентского приложения на Android — он поддерживает протокол v5 или только v4? Если не поддерживает v5, нужно либо использовать старый плагин, либо обновить клиент.
3. Проверьте брандмауэр на ПК:
   - В Windows: Защита Windows → Брандмауэр → Разрешить приложение через брандмауэр — убедитесь, что OBS и obs-websocket разрешены для нужных профилей (Private/Public).
   - Можно временно отключить брандмауэр и попробовать подключиться, чтобы проверить, в нём ли дело.
4. Проверьте роутер/сеть:
   - Убедитесь, что телефон и ПК в одной подсети и не включён гость/режим изоляции AP.
   - Попробуйте пинг/скан порта с телефона (есть сетевые утилиты на Android).
5. Если нужно, добавьте явное правило в брандмауэр для нужного порта:
   - Пример для Windows (от администратора): netsh advfirewall firewall add rule name="OBS WebSocket" dir=in action=allow protocol=TCP localport=4455
6. Рассмотрите обновление мобильного клиента до версии, которая поддерживает новый API (v5/4455) — это лучше, чем держать старый плагин в долгосрочной перспективе.

Вывод
Вероятно, причиной были либо несовместимость протоколов (клиент ожидал старый API на 4444), либо нюансы сетевого доступа (брандмауэр/назначение сети роутером/адрес привязки сервера). Установка старого плагина вернула поведение и порт/протокол, который клиент и/или брандмауэр ожидали, поэтому всё заработало. Проверьте, какая версия протокола нужна клиенту, какой порт и на каком интерфейсе слушает obs-websocket, и убедитесь, что брандмауэр и роутер не мешают соединению. Если хотите, скажите модель роутера/какую Android-программу используете — подскажу конкретные проверки и команды.
так надо наверно настроить, роутер то... хотя раз подключается со старым плагином, то дело не в роутере или сети <br/> <br/> а в настройках фаерволла ПК. уже указывали это
Похожие вопросы