I have an mp4 video in my directory that I need to capture one random frame from in Python. How can I go about doing that?
I'm currently using this code, but it's grabbing the first frame. I need it to randomly pick out of all the frames.
mp4_directory = 'video.mp4'
frames = 324000
random_frame = random.randrange(0, frames)
vidcap = cv2.VideoCapture(mp4_directory)
success,image = vidcap.read()
count = random_frame - 1
while count < random_frame:
cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG file
success,image = vidcap.read()
print('Read a new frame: ', success)
count += 1