[python] 파이썬 moviepy로 동영상 감마 보정하면서 페이드 인/아웃 효과 적용하기

이번 포스트에서는 파이썬의 moviepy 라이브러리를 사용하여 동영상에 감마 보정과 페이드 인/아웃 효과를 적용하는 방법을 알아보겠습니다.

개요

moviepy는 파이썬에서 동영상 편집을 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 동영상의 각각의 프레임에 대한 조작이 가능해집니다. 이번 예제에서는 moviepy를 사용하여 동영상을 로드하고 감마 보정과 페이드 인/아웃 효과를 적용하여 새로운 동영상 파일을 생성하는 방법을 다룰 것입니다.

필요한 라이브러리 설치

먼저 필요한 라이브러리인 moviepy를 설치해야 합니다. 다음과 같이 터미널에서 명령어를 실행하여 설치할 수 있습니다.

pip install moviepy

동영상 감마 보정하기

동영상에 감마 보정을 적용하려면 다음 단계를 따라야 합니다:

  1. moviepy.editor 모듈을 임포트하세요.
  2. VideoFileClip 함수를 사용하여 동영상 파일을 로드하세요.
  3. fx 메소드를 사용하여 감마 보정 함수를 적용하세요.
    • gamma_corr 매개변수를 사용하여 감마 보정을 조정할 수 있습니다.
    • 예: clip = clip.fx(vfx.gamma_corr, gamma=0.5)
  4. ipython_display 메소드를 사용하여 결과를 미리보세요.
    • clip.ipython_display()를 호출하면 주피터 노트북에서 동영상을 바로 볼 수 있습니다.
  5. write_videofile 메소드를 사용하여 보정된 동영상을 파일로 저장하세요.
    • 예: clip.write_videofile("adjusted_video.mp4")

다음은 예제 코드입니다:

from moviepy.editor import *

# 동영상 로드
clip = VideoFileClip("input_video.mp4")

# 감마 보정 적용
clip = clip.fx(vfx.gamma_corr, gamma=0.5)

# 조정 결과 미리보기
clip.ipython_display()

# 조정된 동영상 저장
clip.write_videofile("adjusted_video.mp4")

감마 보정을 적용한 후 ipython_display 메소드를 호출하여 동영상을 확인할 수 있습니다. 또한 write_videofile 메소드를 사용하여 보정된 동영상을 파일로 저장할 수도 있습니다.

페이드 인/아웃 효과 적용하기

이번에는 동영상에 페이드 인/아웃 효과를 적용하는 방법을 살펴보겠습니다.

페이드 인/아웃 효과를 적용하려면 다음 단계를 따르세요:

  1. moviepy.editor 모듈을 임포트하세요.
  2. VideoFileClip 함수를 사용하여 동영상 파일을 로드하세요.
  3. fx 메소드를 사용하여 페이드 인/아웃 효과를 적용하세요.
    • fadeinfadeout 매개변수를 사용하여 페이드 인/아웃의 지속 시간을 조정할 수 있습니다.
    • 예: clip = clip.fx(vfx.fadein, duration=2).fx(vfx.fadeout, duration=2)
  4. ipython_display 메소드를 사용하여 결과를 미리보세요.
  5. write_videofile 메소드를 사용하여 효과가 적용된 동영상을 파일로 저장하세요.

다음은 예제 코드입니다:

from moviepy.editor import *

# 동영상 로드
clip = VideoFileClip("input_video.mp4")

# 페이드 인/아웃 효과 적용
clip = clip.fx(vfx.fadein, duration=2).fx(vfx.fadeout, duration=2)

# 조정 결과 미리보기
clip.ipython_display()

# 조정된 동영상 저장
clip.write_videofile("fade_effect_video.mp4")

fadeinfadeout 메소드를 이용하여 페이드 인/아웃 효과를 적용할 수 있습니다. 이 때, duration 매개변수를 사용하여 페이드 인/아웃의 지속 시간을 조정할 수 있습니다.

결론

이번 포스트에서는 파이썬의 moviepy 라이브러리를 사용하여 동영상에 감마 보정과 페이드 인/아웃 효과를 적용하는 방법에 대해 알아보았습니다. moviepy 라이브러리는 다양한 동영상 편집 작업을 수행할 수 있으며, 다른 효과와 기능도 제공합니다. 관심 있는 분들은 공식 문서를 참고하시기 바랍니다.

참고 자료