Ниже приведен метод, который я использовал для потоковой передачи данных в opencv. Но я использовал более старую версию opencv и ссылку на себя.
Установите Pafy и youtubedl
pip install pafy
pip install youtube_dl
После установки скопируйте URL из видео, которое вы хотите. Ниже приведен пример кода
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/