Передача видеокадров для OpenCV-Python при потоковой передаче с использованием драйвера WebRTC и UV4L
У меня есть установка Raspberry Pi с драйвером uv4l и встроенным модулем uv4l-WebRTC. Пока я вижу, что видеопоток работает нормально в моем браузере, но сейчас я хочу иметь возможность одновременно передавать потоковое видео в браузер, а также передавать некоторые кадры в мою программу opencv-python.
Я смог проверить, могу ли я получить некоторые данные на видео, используя следующий код Python:
import numpy as np
import cv2
imageMat = np.array((3,4,3), np.uint8)
cap = cv2.VideoCapture()
cap.open('https://<IP ADDRESS:8080>/stream/video.mjpeg')
cap.read(imageMat)
который работает, если я добавлю URL в приведенном выше примере кода в моем браузере. Этот URL предоставлен людьми, которые создали драйвер uv4l, но проблема в том, что я действительно хочу иметь возможность использовать видео моей пользовательской веб-страницы вместо того, которое транслируется с этого URL-адреса по умолчанию.
Я видел из других постов, что я могу передать кадры, нарисовав их на элементе canvas, затем превратив его в BLOB-объект и затем отправив его через веб-сокет, но это будет означать, что мне придется открыть другой веб-сокет (используя python время) но я не слишком уверен, что это правильный подход. Я думал, что с помощью UV4L я могу легко получить кадры, но при этом иметь возможность передавать видео.