来自连接到远程机器的相机的 Opencv 流

Ash*_* PS 4 python opencv live-streaming

我正在用 python 开发一个 wx 应用程序,用于流式传输和显示来自两个不同网络摄像头的视频。这工作正常,但现在我需要在不同的场景中执行此操作,其中两个摄像头连接在通过网络连接的 Windows 上运行的单独机器上。我的应用程序将在机器 1 上运行。来自摄像机 1 的视频可以使用 opencv 获取并显示在面板上。而且我还想从连接到机器 2 的摄像头 2 获取视频,并将其显示在应用程序中。

有没有办法做到这一点?

Kor*_*nel 5

VLC 可以通过 RTSP流式传输捕获设备的图像,请参阅VLC 的“流式传输方法”的“使用 GUI 进行流式传输”一章

然后 OpenCVVideoCapture可以从 RTSP 流中抓取帧,例如:

std::string address = "rtsp://<username:password>@<ip_address>:<port>";
cv::VideoCapture cap;

if(!cap.open(address)) 
{
    std::cout << "Error opening video stream: " << address << std::endl;
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

哪里address是像rtsp://127.0.0.1:554或者rtsp://username:password@127.0.0.1:554如果它是密码保护。

  • 很难说,延迟可能是相机或编解码器的内部缓冲区、VLC 缓存或直接网络延迟的结果。您启用转码了吗? (2认同)