File size: 1,294 Bytes
03da825
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import cv2
import os
from moviepy.editor import VideoFileClip

def extract_frames(video_path, output_folder, frame_rate=1):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    cap = cv2.VideoCapture(video_path)
    count = 0
    success, image = cap.read()

    while success:
        if count % frame_rate == 0:
            frame_id = int(count / frame_rate)
            cv2.imwrite(os.path.join(output_folder, f"frame_{frame_id:05d}.jpg"), image)
        success, image = cap.read()
        count += 1

    cap.release()
    print(f"Frames extracted to {output_folder}")

def extract_audio(video_path, output_audio_path):
    video = VideoFileClip(video_path)
    audio = video.audio
    audio.write_audiofile(output_audio_path)
    print(f"Audio extracted to {output_audio_path}")

def main(video_path, output_frames_folder, output_audio_path, frame_rate=1):
    extract_frames(video_path, output_frames_folder, frame_rate)
    extract_audio(video_path, output_audio_path)

if __name__ == "__main__":
    video_path = "./AustinScott0.mp4"
    output_frames_folder = "output/frames"
    output_audio_path = "output/audio.mp3"
    frame_rate = 1  # Change this to your desired frame rate

    main(video_path, output_frames_folder, output_audio_path, frame_rate)