打开简历流YouTube视频



我希望能够使用开放式简历捕获YouTube视频(直播和录制(。

我在下面找到了问题,但似乎基于评论和我自己的试验,下面提供的代码/解决方案不适用于最近的开放 cv 版本。

是否可以使用OpenCV将视频从 https://(例如YouTube(流式传输到python中?

有没有办法通过最新的开放简历版本流式传输YouTube视频:opencv-python 4.1.0.25?

我的目标是使用它在几个具有人脸的随机视频流(例如新闻节目(上测试面部识别算法,以测试误报。

以下是我用于将数据流式传输到opencv的方法。但我使用的是旧版本的 opencv 并链接到自己 caffe。

安装 Pafy 和 youtubedl

pip install pafy
pip install youtube_dl

安装后,从所需的视频中复制网址。下面是示例代码

url = 'https://youtu.be/1AbfRENy3OQ'
urlPafy = pafy.new(url)
videoplay = urlPafy.getbest(preftype="webm")

cap = cv2.VideoCapture(videoplay.url)
while (True):
    ret,src = cap.read()
    cv2.imshow('src',src)
    #do your stuff here. 
cap.release()
cv2.destroyAllWindows()

但是,如果您想要自动选择带有面部的随机视频,那会有点复杂

您需要使用YouTube-API从一组搜索词中获取随机VideoId(例如漂亮的脸,深假脸(

然后从查询的数据库中,自动循环访问您的学习算法。以下是其他帖子的简短示例

import json
import urllib.request
import string
import random
count = 50
API_KEY = 'your_key'
random = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(3))
urlData = "https://www.googleapis.com/youtube/v3/search?key={}&maxResults={}&part=snippet&type=video&q={}".format(API_KEY,count,random)
webURL = urllib.request.urlopen(urlData)
data = webURL.read()
encoding = webURL.info().get_content_charset('utf-8')
results = json.loads(data.decode(encoding))
for data in results['items']:
    videoId = (data['id']['videoId'])
    print(videoId)
    #store your ids

但是如果没有真实值标签,就很难对你的算法性能进行定量测量。因此,我建议从其中一个人脸视频数据集中获取,以便有效地计算分数。您需要正确生成的分数才能发布。

https://www.cs.tau.ac.il/~wolf/ytfaces/

最新更新