Видео в реальном времени

Мультимедийная информация, такая как видео в режиме реального времени, может быть полезна операторам экстренных служб в критических ситуациях. Например:

  • Автомобильные аварии: видеозапись с места происшествия в режиме реального времени может помочь им понять, какие транспортные средства участвовали в ДТП.
  • Пожары: Чтобы понять масштабы возгорания и причиненный ущерб.
  • Медицинские чрезвычайные ситуации: Инструктаж по проведению сердечно-легочной реанимации для спасения жизни.

Теперь система ELS может перехватывать SMS-сообщения, инициированные оператором, с запросом на видеосвязь в режиме реального времени и предоставлять интегрированное видео. Поскольку это предназначено специально для чрезвычайных ситуаций, преимущество заключается в том, что разрешение на использование камеры должно быть предварительно предоставлено на время чрезвычайной ситуации.

Наши основные цели при создании этой функции — предоставить пользователям:

  • Беспроблемная прямая видеотрансляция без сложных разрешений.
  • Стабильный пользовательский опыт для всех пользователей Android

Как это работает

Видеопоток ELS в режиме реального времени демонстрирует, как экстренный вызов или сообщение от пользователя Android запускает ELS, включая новый токен для видеосвязи в режиме реального времени. Когда программное обеспечение для приема вызовов обнаруживает этот токен и отправляет его обратно пользователю Android в SMS-сообщении со ссылкой на видеопоток WebRTC в режиме реального времени, ELS может обеспечить интегрированное видеосопровождение.

Руководство по интеграции

1. Получение

После обновления конфигурации ELS для включения воспроизведения видео в реальном времени вы начнете получать поле live_video_token в сообщениях HTTPS ELS, если телефон пользователя поддерживает эту функцию. Функция поддерживается устройствами на базе Android 8 Oreo и более поздних версий.

Токен — это сгенерированный на устройстве идентификатор, который меняется при каждом звонке или сообщении и состоит из:

  • 6 случайных символов
  • Буквенно-цифровой
  • Заглавные буквы

2. Приглашение

После обнаружения токена передайте его в URL-адресе, например, в качестве параметра URL, в SMS-сообщении, содержащем ссылку на ваш видеопоток, например: https://example.com/live?token=AFZ791 . ELS будет обнаруживать входящие SMS-сообщения во время экстренных вызовов или SMS-сообщений и искать соответствующий токен для просмотра видео в прямом эфире, в данном случае: AFZ791 .

Когда устройство обнаружит действительный URL-адрес и токен, пользователю будет показано диалоговое окно с вопросом, хочет ли он принять запрос. Если он нажмет Accept , ссылка, отправленная в SMS-запросе, откроется во встроенном веб-интерфейсе.

3. Возможность просмотра видео в режиме реального времени.

Ваша ссылка для прямой видеотрансляции должна поддерживать два режима работы:

А. Работа через веб-браузер:

Это может включать в себя, например, ваш собственный пользовательский интерфейс:

  • Кнопки
  • Запросы на определение местоположения
  • Диалоги и согласия

Б. Комплексный опыт:

Для этого вам необходимо:

  • Удалите все кнопки, так как сенсорные события работать не будут.
  • Начните просмотр видеопотока напрямую, без диалоговых окон.

Обнаружение

Вы можете определить интегрированный режим, наблюдая за пользовательским агентом, содержащим Live .

Пример пользовательского агента в мобильном браузере: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36

Пример пользовательского агента в интегрированном интерфейсе WebView: Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.000 Mobile Safari/537.36 Live/25.23.10

В JavaScript этого можно добиться следующим образом:

if (navigator.userAgent.includes("Live")) {
    <!-- Render integrated experience -->
} else {
    <!-- Render your your own custom UI -->
}

Разрешения

  • Для встроенной функции просмотра видео в реальном времени необходимо предварительно предоставить разрешение на использование камеры; запрос на это следует отправить обычным способом через JavaScript.
  • Разрешение на доступ к местоположению, аудио и другим данным будет автоматически отклонено.

Крючки

Для обеспечения наилучшего пользовательского опыта в интегрированном интерфейсе будут предусмотрены элементы управления для переключения камеры и включения/выключения фонарика.

Название функции Возвращаться Описание
Камера switchCamera Promise<bool> При загрузке запустите камеру заднего вида (режим съемки = окружающая среда), поскольку она наиболее полезна в чрезвычайных ситуациях. Переключайтесь между доступными камерами каждый раз при вызове функции. Верните true в случае успешного переключения камеры.
Фонарик toggleFlashlight Promise<bool> При каждом вызове функции включать и выключать фонарик. В случае успешного включения/выключения фонарика вернуть true .
Фонарик isFlashlightAvailable bool Возвращает true или false в зависимости от наличия фонарика для текущего режима камеры. После вызова функции switchCamera предполагается, что возвращаемое значение отражает обновленное состояние доступности, как только Promise switchCamera разрешится.
Фонарик isFlashlightOn bool Возвращает true когда фонарик включен, false в противном случае. После вызова метода toggleFlashlight предполагается, что возвращаемое значение отражает обновленное состояние включения фонарика, как только Promise метода toggleFlashlight разрешится.