在 Streamlink 直播中使用 OpenCV-Python?

Use OpenCV-Python on a Streamlink live stream?

我需要 运行 OpenCV-Python 使用 Streamlink 对从 Twitch 拉取的实时流进行图像识别,而不将流写入磁盘。我已经测试了所有图像识别并准备就绪(我使用 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