A powerful and user-friendly screen recording tool built with Python that allows you to capture screenshots and record videos from multiple monitors.
- Multi-Monitor Support: Detect and use any connected monitor
- Screenshot Capture:
- Save screenshots in PNG format
- Automatic clipboard copy
- Timestamp-based file naming
- Video Recording:
- High-quality MKV video format
- 30 FPS recording
- Live preview window
- Multiple video codec support (XVID, MJPG, I420)
- File Management:
- Organized file storage in dedicated folders
- Built-in cleanup utilities
- Timestamp-based file naming
- Python 3.7+
- Windows OS (due to win32clipboard dependency)
- Clone this repository:
git clone https://github.com/socamalo/screen_recorder.git
cd screen-recorder- Install the required packages:
pip install -r requirements.txtRun the program:
python main.py- Take Screenshot: Capture a still image of the selected monitor
- Record Video: Start video recording of the selected monitor
- Clean Screenshots Folder: Remove all screenshots
- Clean Videos Folder: Remove all recorded videos
- Exit: Close the application
- Screenshots are saved in the
screenshotsfolder - Videos are saved in the
videosfolder - Files are automatically named with timestamps (format: YYYY-MM-DD HHh-MMm-SSs)
- opencv-python: Video processing and recording
- numpy: Array operations
- mss: Screen capture
- Pillow: Image processing
- keyboard: Keyboard event handling
- pywin32: Windows clipboard operations
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the MSS library for efficient screen capture
- OpenCV community for video processing capabilities
- All contributors and users of this project
