[python] 파이썬으로 동영상의 프레임 수 조절하기

동영상을 처리하는 과정에서 프레임 수를 조절하는 것은 비디오 편집과 같은 작업에 유용합니다.

OpenCV를 사용한 프레임 수 조절

OpenCV는 이미지 및 비디오 처리를 위한 강력한 라이브러리입니다. 동영상의 프레임 수를 조절하려면 OpenCV의 VideoCaptureVideoWriter 클래스를 사용하면 됩니다. 다음은 프레임 수를 조절하는 간단한 예제 코드입니다.

import cv2

input_video = 'input_video.mp4'
output_video = 'output_video.mp4'

cap = cv2.VideoCapture(input_video)
fps = cap.get(cv2.CAP_PROP_FPS)
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_video, fourcc, fps*2, (width, height))

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    out.write(frame)

cap.release()
out.release()
cv2.destroyAllWindows()

위의 예제 코드에서, VideoCapture를 통해 입력 동영상을 열고 VideoWriter를 사용하여 출력 동영상을 생성하며, get 메서드를 사용하여 동영상의 프레임 수를 가져와 기존 보다 2배로 증가시켜 새 동영상을 만들었습니다.

MoviePy를 사용한 프레임 수 조절

MoviePy는 비디오 편집을 위한 파이썬 라이브러리이며, 동영상의 프레임 수를 조절할 수 있는 간편한 방법을 제공합니다. 다음은 MoviePy를 사용하여 프레임 수를 조절하는 예제 코드입니다.

from moviepy.editor import VideoFileClip

input_video = 'input_video.mp4'
output_video = 'output_video.mp4'

clip = VideoFileClip(input_video)
new_clip = clip.fl_time(lambda t: t*2)  # double the clip's speed
new_clip.write_videofile(output_video, codec='libx264', fps=clip.fps)

위의 예제 코드에서, VideoFileClip을 사용하여 입력 동영상을 열고 fl_time 메서드를 사용하여 프레임 수를 조절한 후 새 동영상으로 저장하였습니다.

프레임 수 조절은 동영상을 가속 또는 감속시키는 등 다양한 비디오 편집 작업에 활용될 수 있습니다.

참고 자료