Assignment / record_demo.py
Subham629's picture
Upload record_demo.py
1be2e5c verified
import cv2
import numpy as np
import pyautogui
import time
from datetime import datetime
import os
def record_demo():
# Set up screen recording parameters
output_file = 'demo_video.mp4'
fps = 20.0
# Get screen size
screen_size = pyautogui.size()
# Initialize video writer
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_file, fourcc, fps, screen_size)
print("Starting recording in 3 seconds...")
time.sleep(3)
try:
# Record for 30 seconds
start_time = time.time()
duration = 30 # seconds
while (time.time() - start_time) < duration:
# Capture the screen
screenshot = pyautogui.screenshot()
frame = np.array(screenshot)
# Convert from BGR to RGB
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# Write the frame
out.write(frame)
# Maintain fps
time.sleep(1/fps)
print("Recording completed!")
finally:
# Release everything
out.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
record_demo()