Pull to refresh
151.68

Видеосъёмка из браузера. HTML-код, который включает камеру на смартфоне

Reading time4 min
Views11K


Современные стандарты HTML и JavaScript дают разработчикам мощные инструменты для работы со смартфоном через браузер. Мы уже рассказывали о трекинге движений человека по гироскопу/акселерометру с распознаванием паттернов (ходьба, бег, общественный транспорт, нахождение рядом с другим пользователем с аналогичными паттернами) на веб-странице.

Это далеко не единственная такая функция. Например, в мобильных браузерах поддерживается HTML-атрибут <capture>, который начинает видеосъёмку на смартфоне просто по нажатию кнопки на веб-странице.

Включение камеры


Согласно таблице, атрибут <capture> поддерживается практически всеми популярными мобильными браузерами, кроме Opera Mini. В десктопных браузерах поддержка логично отсутствует, поскольку функция ориентирована конкретно на использование в смартфонах.



Атрибут <capture> указывает на запись нового файла (по кнопка выбора файла) и определяет устройство, которое используется для захвата контента. Тип контента определён атрибутом <accept>. Значение user означает обращённую к пользователю камеру и/или микрофон, а значение environment — фронтальную.

Пример использования из документации:

<p>
<label for="soundFile">Как звучит ваш голос?</label>
<input type="file" id="soundFile" capture="user" accept="audio/*" />
</p>
<p>
<label for="videoFile">Загрузить своё видео:</label>
<input type="file" id="videoFile" capture="environment" accept="video/*" />
</p>
<p>
<label for="imageFile">Загрузить своё фото:</label>
<input type="file" id="imageFile" capture="user" accept="image/*" />
</p>

Демо (по нажатию кнопки на десктопе открывается диалог выбора файла, а на смартфоне начинается видеозапись)

Логично, что у пользователя не спрашивают разрешение на запись. Во-первых, он должен явно нажать кнопку на веб-странице, на которой написано «Загрузить видео» или «Загрузить фото», после чего начинается фото/видеосъёмка без дополнительных вопросов. Во-вторых, файл сохраняется локально на устройстве пользователя. В-третьих, пользователь явно на экране смартфона видит, что идёт съёмка — и потом должен нажать ещё одну кнопку, чтобы остановить видеозапись и подтвердить результат.

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

Сейчас появляется всё больше сайтов, которые делают потрясающие вещи в браузере, захватывая видео через веб-страничку. Для наложения фильтров на видеопоток в реальном времени, видеоконференций, распознавания речи теперь не требуются нативные приложения. Всё это можно делать в браузере на устройстве пользователя. Например, видеопоток можно захватывать и преобразовывать на лету средствами JavaScript MediaDevices API прямо в браузере, см. демо (скриншот на КДПВ).

Другой пример — веб-сайт Critter Camera, который превращает любой смартфон (или компьютер) в камеру наблюдения с детектором движения. То есть его можно оставить на ночь — и браузер сохранит фото, если в комнате произойдёт какое-то движение. Никакая информация не отправляется в интернет, всё хранится в локальном хранилище браузера.



Конечно, функции видеосъёмки «из браузера» добавляют удобства и расширяют функциональность веб-приложений, а пользователя лучше не раздражать лишними запросами на получение разрешений.

В этом есть определённый смысл. Известно, что слишком частые запросы на теряют эффективность — и пользователь начинает разрешать всё подряд без вдумчивого прочтения (принцип действует аналогично баннерной слепоте). Поэтому предупреждений безопасности не должно быть слишком много.

Запись без разрешения


С другой стороны, если пренебрегать запросами на получение разрешений — то возможны злоупотребления. Например, недавно пользователи пожаловались, что бот для распознавания речи Otter.ai записывает конференции Zoom без согласия участников, в то время как по закону для записи приватного разговора нужно получить согласие всех участников.


Бот Otter Assistant подключается ко всем видеоконференциям Zoom в вашем календаре и автоматически публикует текстовые расшифровки

Как можно понять по комментариям, видеозапись видеоконференций происходит после активации функции автоматического распознавания речи у одного из участников чата. После этого речь остальных распознаётся и сохраняется автоматически даже без их согласия. Вероятно, кто-то перепутал согласие на запись разговора и согласие на получение расшифровки.

Сама функция «виртуального ассистента» очень полезная, поскольку позволяет виртуально присутствовать на множестве созвонов — и быстро сканировать текстовое содержание разговоров, что сильно экономит время.

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

Настройки по умолчанию — это зачастую своеобразный компромисс между удобством и безопасностью. В данном случае кажется, что удобство перевешивает.




Зачем разработчики используют сертификаты подписи кода для цифровой подписи приложений и программ читайте здесь.

Tags:
Hubs:
Total votes 9: ↑9 and ↓0+9
Comments4

Articles

Information

Website
www.globalsign.com
Registered
Founded
1996
Employees
501–1,000 employees
Location
Япония