screen recorder

This commit is contained in:
Srinjoy Pati 2022-10-06 18:04:42 +05:30
parent ed0d781cc6
commit 3e2117aa6a
2 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,39 @@
# Screen-recorder
## Introduction
This project , records the screen , whatever you are doing and to stop recording you need to press 'Q'. It saves the video in mp4 format with the file name of date and time when it is being recorded.
## Tech stack
The project is made using python.
## Demonstration video - here is a view of the project
<https://user-images.githubusercontent.com/91176055/159889632-837f567b-d931-4069-9e0d-251b825b05a2.mp4>
## Install dependencies
- install Python 3.8.3 or above
- Further install these packages using terminal:
```bash
pip install Pillow numpy opencv-contrib-python pywin32
```
## Quick start (how to run locally)
- Clone this repository:
```bash
git clone https://github.com/metafy-social/daily-python-scripts.git
```
- Change directory:
```bash
cd daily-python-scripts
cd Screen-recorder
```
- Find main.py and run it.

View File

@ -0,0 +1,23 @@
import datetime
import cv2
from PIL import ImageGrab
import numpy as np
from win32api import GetSystemMetrics
width = GetSystemMetrics(0)
height = GetSystemMetrics(1)
time_stamp = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')
file_name = f'{time_stamp}.mp4'
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
captured_video = cv2.VideoWriter(file_name, fourcc, 20.0, (width, height))
while True:
img = ImageGrab.grab(bbox=(0, 0, width, height))
img_np = np.array(img)
img_final = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)
cv2.imshow('Screen Recorder', img_final)
captured_video.write(img_final)
if cv2.waitKey(10) == ord('q'):
break