[python] 파이썬에서 키 입력으로 동영상 제어하기

이번에는 파이썬을 사용하여 키 입력을 통해 동영상을 제어하는 방법에 대해 알아보겠습니다. 동영상을 제어하기 위해 OpenCV 라이브러리를 사용할 것입니다.

OpenCV 라이브러리 설치하기

먼저, OpenCV 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install opencv-python

동영상 재생하기

먼저, 동영상을 재생하는 기능을 구현해보겠습니다. 아래의 코드를 사용하여 동영상 파일을 열고 재생할 수 있습니다.

import cv2

# 동영상 파일 열기
video = cv2.VideoCapture('video.mp4')

while True:
    # 프레임 읽기
    ret, frame = video.read()

    # 프레임이 없다면 종료
    if not ret:
        break

    # 화면에 프레임 출력
    cv2.imshow('Video', frame)

    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) == ord('q'):
        break

# 동영상 파일 닫기
video.release()
cv2.destroyAllWindows()

위의 코드에서는 cv2.VideoCapture를 사용하여 동영상 파일을 열고, while 루프를 사용하여 프레임을 읽어와 화면에 출력합니다. ‘q’ 키를 누르면 동영상 재생이 종료됩니다.

키 입력으로 제어하기

이제 키 입력을 사용하여 동영상을 제어하는 기능을 구현해보겠습니다. 아래의 코드를 사용하여 키 입력에 따라 동영상을 제어할 수 있습니다.

import cv2

# 동영상 파일 열기
video = cv2.VideoCapture('video.mp4')

while True:
    ret, frame = video.read()

    if not ret:
        break

    cv2.imshow('Video', frame)

    # 키 입력 대기
    key = cv2.waitKey(1)

    # 'q' 키를 누르면 종료
    if key == ord('q'):
        break

    # 'p' 키를 누르면 재생/일시정지
    elif key == ord('p'):
        while True:
            key = cv2.waitKey(1)

            # 'p' 키를 누르면 다시 재생
            if key == ord('p'):
                break

    # 'r' 키를 누르면 이전으로 되감기
    elif key == ord('r'):
        video.set(cv2.CAP_PROP_POS_FRAMES, 0)

    # 'f' 키를 누르면 다음으로 빨리감기
    elif key == ord('f'):
        video.set(cv2.CAP_PROP_POS_FRAMES, video.get(cv2.CAP_PROP_POS_FRAMES) + 60)

# 동영상 파일 닫기
video.release()
cv2.destroyAllWindows()

위의 코드에서는 ‘p’ 키를 누르면 재생/일시정지를 전환하고, ‘r’ 키를 누르면 이전으로 되감기하며, ‘f’ 키를 누르면 다음으로 빨리감기합니다. ‘q’ 키를 누르면 동영상 재생이 종료됩니다.

이렇게 파이썬을 사용하여 키 입력으로 동영상을 제어하는 방법을 알아보았습니다. 동영상 재생 및 이동 기능을 구현할 때 유용하게 사용할 수 있습니다.