如何在python中读取实时视频供稿或视频点播供稿?

时间:2019-05-02 17:14:39

标签: python computer-vision

我需要阅读实时视频供稿以及Python中的任何视频供稿URL。这是机器学习项目的输入。 我使用了cv.VideoCapture方法。它对我不起作用。 我尝试了许多StackOverflow链接,但没有找到解决方案。

请帮助阅读python中的实时/普通视频网址I。我尝试了以下代码段。

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 :(得分:0)

这是1分钟的google搜索找到的解决方案。有关更多信息,请访问link

您需要在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()