访问在本地HTTP主机上运行的视频流

问题描述

外部摄像机正在http://localhost:3000/index.html输出视频流。

我想让我可以将此流用于opencv人脸检测和其他算法。

到目前为止,我已经尝试过:

import cv2
import warnings
warnings.filterwarnings('ignore')    

cap = cv2.VideoCapture("http://localhost:3000/index.html")

while True:

    ret,frame = cap.read()
    cv2.imshow('video',frame)

    k = cv2.waitKey(30) & 0xff
    if k == 27:  # press 'ESC' to quit
        break

这将返回以下错误

[ERROR:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap.cpp (116) cv::VideoCapture::open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\videoio\src\cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): http://localhost:3000/ in function 'cv::icvExtractPattern'


Traceback (most recent call last):
  File "C:/Users/void_/PycharmProjects/aimL/Computer Vision/app3.py",line 18,in <module>
    cv2.imshow('video',frame)
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion Failed) size.width>0 && size.height>0 in function 'cv::imshow'

我已经在系统上安装了FFMpeg。我如何继续使用本地服务器http://localhost:3000/index.html上的视频流? 下图显示了实时供稿的一部分以及正在运行流的终端窗口。

enter image description here

解决方法

这个问题我已经解决了。

我正在尝试从正在输出到localhost:3000 / index.html的Web浏览器上的输出中提取提要。这是从源头输出的。因此,要获取提要,我需要访问提要的源而不是UDP端口。

# Fake data
var1<-sample(c('A','B','C'),replace = T,size=100)
var2<-sample(c(0,1),size=100,replace=T)
var3<-rnorm(100,mean=10,sd=2)
#Turn into a data frame
df<-data.frame(var1,var2,var3)
#make multinomial models
library(nnet)
m1<-multinom(var1~var2,data=df)
m2<-multinom(var1~var3,data=df)
m3<-multinom(var1~var2+var3,data=df)

#

summary(m1)$coefficients
summary(m2)$coefficients

#This doesn't work,but I thought it would
stargazer(m3,type="text",coef=list(summary(m1)$coefficients[,2],summary(m2)$coefficients[,2]))

流开始了!