我正在尝试使用 Python(x, y) 打开带有 OpenCV 的 *.avi 文件,每次运行以下代码时,文件都无法打开。
import cv2
from cv2 import cv
# Set up
fn = "./video.avi"
v = cv2.VideoCapture()
# Configure codec:
# From ffprobe, codec is M-JPEG ==> MJPG;
codec = cv.CV_FOURCC("M", "J", "P", "G")
v.set(cv.CV_CAP_PROP_FOURCC, codec)
# Test
v.open(fn)
print fn
if not v.isOpened():
print "Video failed to open"
else:
print "Video opened!"
下面是运行的输出
ffprobe video.avi
输出:
libavutil 52. 52.100 / 52. 52.100
libavcodec 55. 41.100 / 55. 41.100
libavformat 55. 21.100 / 55. 21.100
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 90.102 / 3. 90.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, avi, from 'L4R01CA_T05032300.avi':
Duration: 00:00:06.01, start: 0.000000, bitrate: 16136 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj420p(pc), 720x480, 29.97 tbr, 29.97 tbn, 29.97 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 256 kb/s
任何人都知道为什么 OpenCV 无法打开这个文件?我也尝试在不将 cv.CV_CAP_PROP_FOURCC 设置为 MJPG 的情况下打开文件,结果相同。
谢谢你。