[python] 파이썬 moviepy로 동영상 화면 크기 조정하면서 페이드 인/아웃 효과 적용하기
이번에는 파이썬 moviepy
라이브러리를 사용하여 동영상의 화면 크기를 조정하면서 페이드 인과 페이드 아웃 효과를 적용하는 방법에 대해 알아보겠습니다.
moviepy 라이브러리 설치하기
moviepy
는 파이썬에서 동영상을 처리하고 편집하는데 사용되는 간편한 라이브러리입니다. 아래 명령어를 사용하여 moviepy
를 설치합니다.
pip install moviepy
동영상 화면 크기 조정하기
moviepy
를 사용하여 동영상의 화면 크기를 조정하려면 다음과 같은 단계를 따릅니다:
VideoFileClip
을 사용하여 원본 동영상 파일을 로드합니다.resize
를 사용하여 동영상의 크기를 조정합니다.CompositeVideoClip
을 사용하여 크기가 조정된 동영상과 원본 사이를 합성합니다.- 결과 동영상을 저장합니다.
다음은 예시 코드입니다:
from moviepy.editor import VideoFileClip
# 원본 동영상 로드
clip = VideoFileClip('input.mp4')
# 동영상 크기 조정 (너비 기준으로 50%로 조정)
clip = clip.resize(width=clip.w//2)
# 원본 동영상과 크기 조정된 동영상 합성
final_clip = CompositeVideoClip([clip])
# 결과 동영상 저장
final_clip.write_videofile('output.mp4')
페이드 인/아웃 효과 적용하기
이번에는 동영상의 페이드 인과 페이드 아웃 효과를 적용하는 방법에 대해 알아보겠습니다.
- 페이드 인: 동영상이 서서히 나타나는 효과
- 페이드 아웃: 동영상이 서서히 사라지는 효과
moviepy
를 사용하여 페이드 인과 페이드 아웃 효과를 적용하려면 다음과 같은 단계를 따릅니다:
ColorClip
을 사용하여 특정 색으로 채워진 클립을 만듭니다.CompositeVideoClip
을 사용하여 원본 동영상과 페이드 인/아웃 클립을 합성합니다.- 결과 동영상을 저장합니다.
다음은 예시 코드입니다:
from moviepy.editor import VideoFileClip, ColorClip, concatenate
# 원본 동영상 로드
clip = VideoFileClip('input.mp4')
# 페이드 인/아웃 색상과 지속 시간 설정
fade_duration = 2 # 페이드 인/아웃 지속 시간 (초단위)
fade_color = (255, 255, 255) # 페이드 인/아웃 색상 (흰색)
# 페이드 인/아웃 클립 생성
fade_in = ColorClip((clip.w, clip.h), fade_color).set_duration(fade_duration).crossfadein(fade_duration)
fade_out = ColorClip((clip.w, clip.h), fade_color).set_duration(fade_duration).crossfadeout(fade_duration)
# 원본 동영상과 페이드 인/아웃 클립 합성
final_clip = concatenate([fade_in, clip.fadein(fade_duration), clip.fadeout(fade_duration), fade_out])
# 결과 동영상 저장
final_clip.write_videofile('output.mp4', codec='libx264', audio_codec='aac')
이제 moviepy
를 사용하여 동영상의 화면 크기를 조정하면서 페이드 인과 페이드 아웃 효과를 적용하는 방법을 알게 되었습니다. 다양한 영상 편집 작업을 할 수 있는 moviepy
의 다른 기능들도 함께 사용해 보세요!
참고 문서: