На модуле ESP32-CAM, подключенном к домашней локальной сети, запущен веб-сервер, который в MJPEG транслирует видео по адресу:
192.168.1.139:81/stream. Если создать простенькую страничку на моём ноутбуке с элементом
<img src="http://192.168.1.139:81/stream">и запустить её в браузере, в окне без проблем видно эту трансляцию. Сейчас передо мной стоит задача этот видеопоток обрабатывать через библиотеку OpenCV.js, чтобы в режиме реального времени средствами браузера определять в кадре координаты перемещающегося объекта (цветной круг из картона) относительно поля зрения камеры.
Чтобы библиотека OpenCV.js могла работать с видео, необходимо кадры с видеопотока поочерёдно рисовать в элементе
<canvas> (а уже потом изображение с
<canvas> покадрово обрабатывать средствами самой библиотеки). Фактически мне нужно, чтобы всё то, что показывается в элементе
<img src="http://192.168.1.139:81/stream"> ровно точно также рисовалось в элементе
<canvas>. Этакое видео в канвасе.
Подскажите, пожалуйста, как лучше это реализовать? Или в какую сторону копать?
Пробовал использовать вместо
<img> элемент
<video>. Элементы
<video> и
<canvas> дружат без проблем, но
<video> в mjpeg не умеет.