In [1]:
import cv2

In [2]:
cap = cv2.VideoCapture('data/temp/sample_video.mp4')
print(type(cap))


<class 'cv2.VideoCapture'>

In [3]:
print(cap.isOpened())


True

In [4]:
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


0.0

In [5]:
print(cap.get(cv2.CAP_PROP_POS_MSEC))


0.0

In [6]:
ret, frame = cap.read()

In [7]:
print(ret)


True

In [8]:
print(type(frame))


<class 'numpy.ndarray'>

In [9]:
print(frame.shape)


(360, 640, 3)

In [10]:
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


1.0

In [11]:
print(cap.get(cv2.CAP_PROP_POS_MSEC))


33.36666666666667

In [12]:
print(1 / cap.get(cv2.CAP_PROP_FPS) * 1000)


33.36666666666667

In [13]:
cap.set(cv2.CAP_PROP_POS_FRAMES, 100)
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


100.0

In [14]:
ret, frame = cap.read()

In [15]:
print(ret)


True

In [16]:
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


101.0

In [17]:
print(cap.get(cv2.CAP_PROP_POS_MSEC))


3370.0333333333333

In [18]:
cap.set(cv2.CAP_PROP_POS_FRAMES, cap.get(cv2.CAP_PROP_FRAME_COUNT))
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


360.0

In [19]:
ret, frame = cap.read()

In [20]:
print(ret)


False

In [21]:
print(frame)


None

In [22]:
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


360.0

In [23]:
cap.set(cv2.CAP_PROP_POS_FRAMES, 1000)
print(cap.get(cv2.CAP_PROP_POS_FRAMES))


360.0