我需要阅读实时视频供稿以及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)
答案 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()