[파이썬] moviepy 동영상 회전하기

동영상 처리는 파이썬에서 간단하게 할 수 있는 작업 중 하나입니다. MoviePy는 강력한 영상 처리 라이브러리로, 이를 사용하여 동영상을 회전시킬 수 있습니다. 이 글에서는 MoviePy를 사용하여 동영상을 회전하는 방법에 대해 알아보겠습니다.

MoviePy 설치하기

MoviePy를 사용하기 위해서는 먼저 파이썬 환경에 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 MoviePy를 설치할 수 있습니다.

pip install moviepy

설치가 완료되면, 파이썬 코드에서 moviepy 모듈을 가져와서 사용할 수 있습니다.

from moviepy.editor import *

동영상 회전하기

MoviePy를 사용하여 동영상을 회전시키는 방법은 간단합니다. 다음 코드를 참고하여 동영상을 회전시킬 수 있습니다.

# 동영상 파일 경로
video_path = "path/to/video.mp4"

# 동영상 로드
video = VideoFileClip(video_path)

# 동영상 회전
rotated_video = video.rotate(angle=90)

# 회전된 동영상 저장
rotated_video.write_videofile("path/to/rotated_video.mp4")

위 코드에서, rotate 함수를 사용하여 angle 매개변수에 회전할 각도를 지정합니다. 여기서는 90도로 동영상을 시계 방향으로 회전하는 예제입니다. 회전된 동영상은 write_videofile 함수를 사용하여 원하는 경로에 저장할 수 있습니다.

추가 옵션

MoviePy에서는 다양한 옵션을 제공하여 동영상을 회전시킬 수 있습니다. 몇 가지 예시를 살펴보겠습니다.

회전 중심 지점 변경하기

기본적으로 rotate 함수는 동영상의 중심을 기준으로 회전시킵니다. 그러나 center 매개변수를 사용하여 회전 중심 지점을 변경할 수 있습니다. 다음 코드는 동영상을 왼쪽 상단으로 이동한 후, 해당 지점을 중심으로 45도 시계 방향으로 회전시키는 예제입니다.

x_shift = video.size[0] / 4
y_shift = -video.size[1] / 4

rotated_video = (video
                 .fx(transfx.resize, scale=0.5)
                 .fx(transfx.translate, x_shift=x_shift, y_shift=y_shift)
                 .fx(transfx.rotate, angle=45, center=(x_shift, y_shift))
                )

회전 후 크기 조절하기

회전 후 동영상의 크기를 조절하려면 resize 함수를 사용할 수 있습니다. 다음 코드는 동영상을 회전한 후 크기를 절반으로 조절하는 예제입니다.

rotated_video = (video
                 .fx(transfx.rotate, angle=45)
                 .fx(transfx.resize, scale=0.5)
                )

MoviePy를 사용하면 이 외에도 다양한 영상 처리 작업을 수행할 수 있습니다. 자세한 내용은 MoviePy 공식 문서를 참고하시기 바랍니다.

이제 MoviePy를 사용하여 동영상을 회전시키는 방법에 대해 알아보았습니다. 다양한 기능을 활용하여 영상 처리 작업을 수행해보세요!