Как читать видео в реальном времени или видео по запросу в Python? - PullRequest
0 голосов
/ 02 мая 2019

Мне нужно прочитать видео в реальном времени, а также любой URL-адрес видео в Python. Это вход для проекта машинного обучения. Я использовал cv.VideoCapture метод. Это не сработало для меня. Я перепробовал много ссылок StackOverflow, но не нашел решения.

Помогите, пожалуйста, прочитать живое / обычное видео URL I в Python. Я пробовал с приведенным ниже кодом.

import cv2
url = 'https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4'
camera = cv2.VideoCapture()
print("open:",camera.open(url)) # False
print("read:",camera.read()) # (False, None)

Выход:

open: False
read: (False, None)

1 Ответ

0 голосов
/ 02 мая 2019

Это 1 минута поиска в Google. Для получения более подробной информации ссылка .

Вам нужно передать свой URL в VideoCapture(url).

На ваш вопрос:

>>> import cv2
>>> cv2.__version__
'3.4.2'
>>> cap = cv2.VideoCapture("https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4")
")


>>> cap.read()
(True, array([[[ 46, 112, 104],
        [ 31,  97,  89],
        [ 21,  92,  83],
        ...,

       [[ 62, 153, 159],
        [ 68, 159, 165],
        [ 70, 158, 165],
        ...,
        [ 33, 121, 114],
        [ 28, 131, 113],
        [ 42, 145, 127]]], dtype=uint8))
>>> cap.release()
>>> cv2.destroyAllWindows()

Ниже приведен код из документа,

import cv2
import numpy as np

# Create a VideoCapture object and read from input file
# If the input is the camera, pass 0 instead of the video file name
cap = cv2.VideoCapture('chaplin.mp4')

# Check if camera opened successfully
if (cap.isOpened()== False): 
  print("Error opening video stream or file")

# Read until video is completed
while(cap.isOpened()):
  # Capture frame-by-frame
  ret, frame = cap.read()
  if ret == True:

    # Display the resulting frame
    cv2.imshow('Frame',frame)

    # Press Q on keyboard to  exit
    if cv2.waitKey(25) & 0xFF == ord('q'):
      break

  # Break the loop
  else: 
    break

# When everything done, release the video capture object
cap.release()

# Closes all the frames
cv2.destroyAllWindows()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...