[python] PIL로 동영상 녹화하기

이번 글에서는 Python의 이미지 처리 라이브러리인 PIL(Pillow)을 사용하여 동영상을 녹화하는 방법을 배워보겠습니다.

PIL(Pillow) 소개

PIL은 Python Imaging Library의 포크 버전으로, 이미지 처리와 관련된 다양한 기능을 제공합니다. PIL을 사용하면 이미지를 로딩, 편집, 저장하는 작업을 쉽고 효율적으로 수행할 수 있습니다.

동영상 녹화하기

PIL의 기능 중 하나는 이미지를 녹화하여 동영상 파일로 저장할 수 있는 기능입니다. 다음은 PIL을 사용하여 동영상을 녹화하는 간단한 예제 코드입니다.

from PIL import ImageGrab
import cv2

# 화면 크기를 가져온다
screen_size = (1920, 1080)

# 동영상 저장을 위한 비디오 라이터 생성
fourcc = cv2.VideoWriter_fourcc(*"XVID")
output = cv2.VideoWriter("output.avi", fourcc, 20.0, screen_size)

while True:
    # 화면 스크린샷을 가져와 동영상에 추가
    img = ImageGrab.grab()
    frame = cv2.cvtColor(np.array(img), cv2.COLOR_BGR2RGB)
    output.write(frame)
    
    # 'q' 키 누르면 녹화 종료
    if cv2.waitKey(1) == ord('q'):
        break

# 비디오 라이터와 창 해제
output.release()
cv2.destroyAllWindows()

위 코드는 현재 화면의 스크린샷을 받아와 동영상 파일에 프레임으로 추가하는 무한 루프를 생성합니다. ‘q’ 키를 누르면 녹화를 종료하고 생성된 동영상 파일이 저장됩니다.

결론

이번에는 PIL(Pillow)을 사용하여 Python에서 동영상을 녹화하는 방법을 알아보았습니다. PIL은 이미지 처리 작업뿐만 아니라 동영상 처리에도 유용하게 사용될 수 있습니다. 프로젝트나 개인 작업에서 필요한 경우에는 위 예제 코드를 참고하여 동영상 녹화를 시도해보세요.