python - 如何在 python 中读取实时视频提要或视频点播提要?
问题描述
我需要阅读实时视频提要以及 Python 中的任何视频提要 URL。这是机器学习项目的输入。我用的cv.VideoCapture
方法。它对我不起作用。我尝试了许多 StackOverflow 链接,但没有找到解决方案。
请帮助阅读我在 python 中的实时/普通视频 URL。我尝试使用下面的代码段。
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 分钟谷歌搜索找到的解决方案。更多,这里是链接。
您需要将您的网址传递给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()
推荐阅读
- machine-learning - 什么是多头模型?模型中的“头”到底是什么?
- spring - 使用 javax.xml.soap 创建 SOAP
- database - 使用 REST API 处理多响应数据
- printf - Printf / 在 MPLAB X IDE - dsPIC33F 上显示值
- r - 以数字格式将值从 R 导出到 excel
- orientdb - OrientDB 查询以接收给定日期之前的最后一个顶点
- android - 来电界面
- android - GridLayout 在真实设备上看起来很奇怪,在模拟器上看起来很完美
- dialogflow-es - 如何服务器到服务器的对话流 api 调用?
- reactjs - 如何在 React Redux 应用程序中实现基于角色的限制/权限?