[python] PyInstaller를 사용하여 작성한 프로그램에서 동영상 녹화 기능을 추가하는 방법은?
-
필요한 라이브러리 설치 터미널 또는 명령 프롬프트를 열고 다음 명령어를 사용하여 필요한 라이브러리를 설치합니다.
pip install opencv-python pyautogui
-
동영상 녹화를 위한 코드 작성 다음과 같은 코드를 사용하여 동영상 녹화를 수행하는 함수를 작성합니다.
import cv2 import pyautogui def record_screen(file_name): # 화면 크기 가져오기 screen = (1920, 1080) # 화면 크기에 맞게 변경해주세요 # 동영상 코덱 설정 및 녹화 객체 생성 fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter(file_name, fourcc, 20.0, screen) # 녹화 시작 while True: # 현재 화면 캡처 img = pyautogui.screenshot() # OpenCV 형식으로 변환 frame = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) # 화면에 표시 cv2.imshow("Screen Recorder", frame) out.write(frame) # "q" 키를 누르면 녹화 중지 if cv2.waitKey(1) == ord('q'): break # 리소스 해제 out.release() cv2.destroyAllWindows()
이 함수는 현재 화면을 캡처해서 동영상 파일로 저장합니다. 녹화를 중지하려면 “q” 키를 누르면 됩니다.
-
프로그램에 녹화 기능 추가 프로그램에 녹화 기능을 추가하기 위해 다음과 같은 코드를 사용합니다.
import threading def start_recording(): threading.Thread(target=record_screen, args=('recorded_video.avi',)).start() # 녹화 시작 start_recording()
위의 코드는 녹화를 시작하는 함수를 별도의 스레드에서 실행하여 프로그램의 메인 로직과 함께 동작하도록 합니다. 녹화된 동영상은 “recorded_video.avi”라는 파일로 저장됩니다.
이제 PyInstaller로 이 프로그램을 패키징하고 실행하면 동영상 녹화 기능이 작동하는 것을 확인할 수 있습니다.
참고 자료:
- OpenCV 공식 문서: https://docs.opencv.org
- pyautogui 공식 문서: https://pyautogui.readthedocs.io
- PyInstaller 공식 문서: https://pyinstaller.readthedocs.io