動画ファイルの表示(Python を使用)
【概要】
動画ファイルを表示するプログラムの例import cv2
# 動画ファイルを開く
cap = cv2.VideoCapture("vtest.avi")
if not cap.isOpened():
print("動画ファイルを開けなかった")
exit()
# 幅、高さ、フレームレートの取得
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
fps = cap.get(cv2.CAP_PROP_FPS)
cv2.namedWindow("VideoFile", cv2.WINDOW_AUTOSIZE)
prev_index = -1
while True:
ret, frame = cap.read()
if not ret:
break
msec = cap.get(cv2.CAP_PROP_POS_MSEC)
index = cap.get(cv2.CAP_PROP_POS_FRAMES)
ratio = cap.get(cv2.CAP_PROP_POS_AVI_RATIO)
cv2.imshow("VideoFile", frame)
key = cv2.waitKey(int(1000 / fps))
if key == 27:
# ESC キー
break
print(f"width = {width}, height = {height}, fps = {fps}, index = {index}, msec = {msec}")
# 終わりまで来たら最初に戻る
if prev_index == index:
cap.set(cv2.CAP_PROP_POS_AVI_RATIO, 0.0)
prev_index = index
cap.release()
cv2.destroyWindow("VideoFile")