VR Sync
VR Sync — платформа совместного просмотра VR-видео
VR Sync — система для организации совместных сеансов VR-видео на Android-устройствах. Ведущий выбирает ролик и управляет воспроизведением, а устройства участников получают команды по локальной сети. Приложение поддерживает панорамное видео 360° и просмотр через Cardboard-совместимые очки для смартфона. Продукт объединяет три части: мобильное приложение, сервер контента и лицензирования, а также веб-панель администратора. Такой подход подходит для групповых демонстраций, образовательных сеансов, выставочных пространств и VR-показов: управление просмотром остаётся у ведущего, а доступ к материалам — у администратора платформы.
Разработать систему, в которой один оператор может управлять общим просмотром на нескольких Android-устройствах. Требовалось связать обнаружение устройств, передачу команд воспроизведения и работу с локальными видеофайлами, чтобы не передавать видеопоток каждому участнику во время сеанса. Отдельная задача — управление доступом: учёт клиентов, назначение видеоматериалов, выпуск лицензионных ключей, привязка лицензий к устройствам и контроль срока действия. Администратору нужна единая веб-панель для этих операций, а мобильному приложению — понятные роли ведущего и участника.
- VR и иммерсивные технологии
- мультимедиа
- образовательные и выставочные решения
- Android-разработка
- backend и REST API
- веб-панель администратора
- интеграция VR-плеера
- сетевое взаимодействие устройств
- система лицензирования
- Мобильное приложение и управление сеансом. Разработали Android-приложение с ролями MASTER и CLIENT. Ведущий выбирает контент, запускает просмотр, ставит видео на паузу, продолжает воспроизведение и передаёт команду перемотки. Устройства участников обнаруживают ведущего в локальной сети и принимают команды управления. Для поиска используется UDP multicast, для обмена командами — TCP.
- Просмотр 360° и VR-режим. Интегрировали воспроизведение видео на базе ExoPlayer и Cardboard SDK. Панорамный режим позволяет осматриваться внутри сцены, а режим VR-очков предназначен для смартфона в Cardboard-совместимом устройстве. Видео загружается и хранится локально: во время показа по сети передаются управляющие сообщения, а не общий видеопоток.
- Контент и серверная часть. Реализовали backend на Node.js и Express с PostgreSQL. Сервер хранит сведения о клиентах, контенте и лицензиях. Администратор загружает видеоматериалы, задаёт название, формат и длительность, назначает контент клиенту и управляет его доступностью. В панели отображаются имя файла, размер и статус материала.
- Лицензирование устройств. Добавили генерацию ключей, активацию, привязку к идентификатору устройства и контроль срока действия. Веб-панель позволяет искать ключи, фильтровать их по клиенту и активности, включать или отключать доступ. В мобильной части предусмотрена повторная проверка лицензии и ограниченный период работы без связи с сервером: до семи дней после последней успешной проверки, пока сама лицензия остаётся действительной.
- Панель администратора. Создали интерфейс на React для управления клиентами, видео и лицензиями. Дашборд показывает общее количество клиентов, активные и просроченные лицензии, доступный контент и активность за последние сутки. Это связывает подготовку материалов и выдачу доступа с эксплуатацией мобильного приложения.
- Результат. Объединили управление групповым VR-сеансом и административную часть в одной системе. Оператор управляет просмотром с ведущего Android-устройства, участники воспроизводят локальные видео, а администратор контролирует контент и лицензии через браузер.
- Визуальные материалы кейса. На скриншотах показан реальный интерфейс веб-панели с демонстрационными данными. Главное изображение — иллюстрация сценария использования. Числа на экранах не являются показателями клиентского бизнеса.
FreeBlock / От идеи к запуску
Обсудим ваш проект.
Можно без технического задания. Расскажите, что хотите создать или улучшить — вместе определим следующий шаг.
Удобнее написать напрямую?