我需要使用Streamlink在从Twitch提取的实时流上运行OpenCV Python图像识别,而无需将流写入磁盘。我已经测试了所有的图像识别并准备就绪(我使用win32api截屏进行了测试(,Streamlink也使用它提供的cli命令成功地拉取了流,但我需要能够在Python脚本中使用OpenCV一帧一帧地分析流。
我的问题是:如何使用OpenCV分析Streamlink流的每一帧?
我认为这段代码给了你一个想法。您只需要通过streamlink获取流,并通过openCV 进行捕获
def stream_to_url(url, quality='best'):
streams = streamlink.streams(url)
if streams:
return streams[quality].to_url()
else:
raise ValueError("No steams were available")
主
def main(url, quality='best', fps=30.0):
stream_url = stream_to_url(url, quality)
cap = cv2.VideoCapture(stream_url)
frame_time = int((1.0 / fps) * 1000.0)
while True:
try:
ret, frame = cap.read()
https://github.com/streamlink/streamlink/blob/6a30ed7524eff2cdb205e024294b187cb660e4e3/examples/opencv-face.py#L40