Передача видеокадров для 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 я могу легко получить кадры, но при этом иметь возможность передавать видео.

0 ответов

Другие вопросы по тегам