[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의 간단한 동영상 편집 기능을 활용하는 방법을 익힐 수 있을 것입니다.