Альтернатива getUserMedia () для чтения потока живой камеры на iOS?

мы строим мобильный сканер штрих-кодов с помощью QuaggaJS, который считывает штрих-коды непосредственно из потока камеры устройства. Отлично работает на рабочем столе / Android, но не работает вообще на iOS.

из первоначального исследования я обнаружил, что iOS просто не поддерживает WebRTC/getUserMedia через Safari или iOS Chrome (связанные ссылки ниже), что QuaggaJS использует для чтения потока камеры.

Я тоже видел этот вопрос о захвате неподвижного изображения на iOS, но ответ предоставляется только для захвата неподвижного изображения, а не для чтения потока в режиме реального времени.

у меня вопрос - есть ли другой способ захватить поток с камеры iOS? Возможно, альтернативная библиотека, отличная от QuaggaJS, которая не использует getUserMedia? Я не очень хорошо разбираюсь в Javascript, поэтому я не уверен, что есть даже возможный способ доступа к потоку камеры, кроме getUserMedia.

"нет" является приемлемым ответом здесь; я просто ищу кого-то более опытного, чтобы дать указания.


приложение / ссылки по теме:

навигатор.getUserMedia альтернативный API для iOS safari мобильный браузер?

https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari

https://bloggeek.me/webrtc-apple-or-microsoft/

HTML5: проблема getUserMedia iOS?

2 ответов


обновление 2017: Apple только что объявила, что getUserMedia, наконец, будет поддерживаться в iOS11.


страница quaggaJS имеет матрицу совместимости функций, которая отвечает на ваш вопрос:

enter image description here

getusermedia не поддерживается в iOS safari.

согласно документации quaggaJS (https://github.com/serratus/quaggaJS#browser-support)

Quagga использует многие современные веб-API, которые еще не реализованы всеми браузерами. Существует два режима работы Quagga:

  1. анализ статических изображений и

  2. использование камеры для декодирования изображений из Живого Потока. Последнее требует наличия API MediaDevices. Вы можете отслеживать совместимость используемых Web-API для каждого режима:

    • Статичные Картинки
    • В Прямом Эфире

Я бы предложил вам использовать статический режим изображения на iOS, поскольку режим live stream не поддерживается.