我有一个带有uv4l驱动程序和本机uv4l-WebRTC模块的raspberry pi设置。到目前为止,我可以看到视频流在我的浏览器上正常工作,但我现在要做的是能够同时将视频流式传输到浏览器并将一些帧传递给我的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驱动程序的人员提供,但问题是我实际上希望能够使用我的自定义网页的视频而不是从此默认网址流式传输的视频。
我从其他帖子中看到,我可以通过绘制它们来传递帧 canvas元素,然后将其转换为Blob,然后通过websocket发送,但这意味着我必须打开另一个websocket(这次使用python),但我不太确定这是否是正确的方法。我认为通过使用UV4L,我可以很容易地获得帧,同时仍然能够流式传输视频。