| | import cv2
|
| | import os
|
| | import argparse
|
| |
|
| | parser = argparse.ArgumentParser(description='code for extracting frames from video')
|
| |
|
| | parser.add_argument('--input_video', type=str, help='Video path to save result. See default for an e.g.',
|
| | default='output_videos_wav2lip/1.mp4')
|
| |
|
| | parser.add_argument('--frames_path', type=str, help='Video path to save result. See default for an e.g.',
|
| | default='frames_wav2lip/1/')
|
| |
|
| | args = parser.parse_args()
|
| |
|
| |
|
| | video_path = args.input_video
|
| | video = cv2.VideoCapture(video_path)
|
| |
|
| |
|
| | fps = int(video.get(cv2.CAP_PROP_FPS))
|
| | duration = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
|
| |
|
| |
|
| | frame_folder = args.frames_path
|
| | os.makedirs(frame_folder, exist_ok=True)
|
| |
|
| |
|
| | frame_index = 0
|
| |
|
| |
|
| | for i in range(duration):
|
| | ret, frame = video.read()
|
| | if not ret:
|
| | break
|
| |
|
| | frame_file = os.path.join(frame_folder, f'frame_{frame_index:05d}.jpg')
|
| | cv2.imwrite(frame_file, frame)
|
| | frame_index += 1
|
| |
|
| | print("Frames extracted and stored at ", args.frames_path)
|
| |
|
| | video.release() |