이번 포스트에서는 파이썬의 moviepy
라이브러리를 사용하여 동영상에 레터박스 텍스트 애니메이션을 추가하는 방법을 알아보겠습니다.
1. moviepy 설치
moviepy
를 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 아래 명령을 통해 설치할 수 있습니다.
pip install moviepy
2. 동영상 불러오기
먼저 moviepy.editor
모듈을 import하여 동영상을 불러옵니다.
from moviepy.editor import VideoFileClip
아래 코드를 사용하여 동영상을 불러올 수 있습니다.
video = VideoFileClip("input.mp4")
3. 텍스트 애니메이션 추가하기
텍스트 애니메이션을 추가하기 위해서는 TextClip
클래스를 사용합니다. 아래 코드는 “Hello, World!”라는 텍스트를 생성하는 예제입니다.
from moviepy.editor import TextClip
text = TextClip("Hello, World!", fontsize=70, color='white', bg_color='transparent')
위 코드에서 fontsize
는 텍스트의 크기, color
는 텍스트의 색상, bg_color
는 배경의 색상을 의미합니다.
동영상에 텍스트를 추가하려면 video.subclip()
을 사용하여 동영상의 특정 구간을 선택한 후, video.subclip().concat()
을 사용하여 텍스트 애니메이션을 추가합니다.
아래 코드는 동영상의 3초부터 5초까지 구간에 텍스트 애니메이션을 추가하는 예제입니다.
text_animation = video.subclip(3, 5).concatenate_videoclips([text.set_position(('center', 'bottom')).set_duration(2)])
위 코드에서 set_position()
은 텍스트의 위치를 설정하는 메서드이며, set_duration()
은 텍스트의 지속 시간을 설정하는 메서드입니다.
4. 결과 동영상 저장하기
최종적으로 결과 동영상을 저장하기 위해서는 video.write_videofile()
을 사용합니다. 아래 코드는 결과 동영상을 “output.mp4”라는 이름으로 저장하는 예제입니다.
text_animation.write_videofile("output.mp4")
이제 위 코드를 실행시키면 입력 동영상의 3초부터 5초까지에 “Hello, World!”라는 텍스트가 나타나는 동영상이 생성됩니다.