[python] 파이썬 moviepy로 동영상 순서 랜덤으로 변경하기

파이썬의 moviepy 라이브러리는 동영상 편집 작업을 할 수 있는 강력한 도구입니다. 이번에는 moviepy를 사용하여 동영상의 장면 순서를 랜덤으로 변경하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치

먼저 moviepy를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

pip install moviepy

동영상 순서 랜덤으로 변경하기

다음은 moviepy를 사용하여 동영상의 장면 순서를 랜덤으로 변경하는 예제 코드입니다.

from moviepy.editor import *

def randomize_clips(clip):
    duration = clip.duration
    duration_list = [i * duration for i in range(clip.reader.nframes)]
    random_duration_list = random.sample(duration_list, len(duration_list))
    
    clips=[]
    for duration in random_duration_list:
        clip_part = clip.subclip(duration, duration + 1)
        clips.append(clip_part)
        
    final_clip = concatenate_videoclips(clips)
    final_clip.write_videofile("randomized_video.mp4")

위의 코드는 randomize_clips() 함수를 정의하고, 이 함수를 호출하여 동영상의 장면 순서를 랜덤으로 변경한 뒤 “randomized_video.mp4”라는 이름으로 저장합니다.

random.sample() 함수를 사용하여 장면의 시간을 랜덤으로 선택하고, concatenate_videoclips() 함수를 사용하여 장면들을 모아서 최종 동영상을 생성합니다.

실행하기

위의 예제 코드를 실행하기 위해서는 아래의 코드를 추가해주세요.

video = VideoFileClip("input_video.mp4")
randomize_clips(video)

위의 코드는 “input_video.mp4”라는 이름의 입력 동영상 파일을 로드한 뒤, randomize_clips() 함수를 호출하여 동영상의 장면 순서를 랜덤으로 변경합니다.

동영상 생성이 완료되면 “randomized_video.mp4”라는 이름으로 현재 디렉토리에 저장됩니다.

마무리

이렇게 파이썬의 moviepy 라이브러리를 사용하여 동영상의 장면 순서를 랜덤으로 변경하는 방법에 대해 알아보았습니다. 이번 예제를 통해 moviepy의 간단한 동영상 편집 기능을 활용하는 방법을 익힐 수 있을 것입니다.