Spaces:
Sleeping
Sleeping
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() | |