如何使用 Opencv 和 python 从网络上播放视频

Posted

技术标签:

【中文标题】如何使用 Opencv 和 python 从网络上播放视频【英文标题】:How to to play videos from the web using Opencv and python 【发布时间】:2020-11-21 23:36:59 【问题描述】:

我正在寻找使用 opencv 简单地开发一些东西。我正在寻找使用 opencv 播放来自网络的视频的方式,您可以通过传递位置路径从笔记本电脑播放视频现在尝试传递视频 url 并让它播放。所以到目前为止出现错误任何建议都会很好。

import cv2 
import numpy as np 
import urllib3


http = urllib3.PoolManager()
r = http.request('Get','https://www.youtube.com/watch?v=NWdrO4BoCu8&list=RDNWdrO4BoCu8&start_radio=1')
cap = cv2.VideoCapture('https://www.youtube.com/watch?v=NWdrO4BoCu8&list=RDNWdrO4BoCu8&start_radio=1') 


if (cap.isOpened()== False): 
    print("Error opening video file") 


while(cap.isOpened()): 
    

    ret, frame = cap.read() 
    if ret == True: 

        cv2.imshow('Frame', frame) 

        if cv2.waitKey(25) & 0xFF == ord('q'): 
          break
        else: 
            break


cap.release() 
cv2.destroyAllWindows() 

【问题讨论】:

【参考方案1】:

这里可以使用pafy下载视频,然后使用OpenCV播放视频。

url = 'https://youtu.be/W1yKqFZ34y4'
vPafy = pafy.new(url)
play = vPafy.getbest(preftype="webm")

#start the video
cap = cv2.VideoCapture(play.url)
while (True):
    ret,frame = cap.read()
    """
    your code here
    """
    cv2.imshow('frame',frame)
    if cv2.waitKey(20) & 0xFF == ord('q'):
        break    

cap.release()
cv2.destroyAllWindows()

安装资源:

https://pypi.org/project/pafy/

【讨论】:

问题不是问如何在您的电脑上播放视频?答案已在tutorial 中提供。这个问题问你有没有办法播放 youtube 视频? @AhmetTavli 抱歉,我误读了这个问题。我已经更新了我的答案。 没问题,对我来说没问题。提醒一下:pafy 库是为python2.7 设计的。你不能为python3.7安装它

以上是关于如何使用 Opencv 和 python 从网络上播放视频的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OpenCV 以您想要的分辨率从 DVR 读取图像?

从 webrtc 将网络摄像头帧传递给 python opencv

如何从网络摄像头 OpenCV 裁剪圆形图像并删除背景

python opencv从bytearray创建图像

使用 OpenCV 和 Python 显示网络摄像头源

洞察使用 python 和 OpenCV 与 VideoCapture 进行多网络摄像头捕获