Python Screen Recorder
Python screen recorder also pyscreenrecorder is a powerful Python package for screen recording with an optional mouse cursor overlay.
It allows high-performance screen capturing, custom resolution, and real-time mouse tracking.
✨ Features
- 🎥 Record screen with smooth frame rates (30 FPS default).
- 🖱 Mouse overlay customization (color, size, thickness).
- 📺 Multi-monitor support – Choose which monitor to record.
- 🔄 Set custom resolution (e.g., 1280x720, 1920x1080).
- ⚡ Optimized performance with
mssfor fast screen capture. - 🎨 Flexible output formats – Supports
.mp4,.avi, and.mkv. - 🔍 Monitor detection – List available monitors and their specs.
📦 Installation
Install pyscreenrecorder using pip:
pip install pyscreenrecorder
Upgrade pyscreenrecorder using pip:
pip install pyscreenrecorder -U
🚀 Usage
Basic Screen Recording
from pyscreenrecorder import ScreenRecorder
ScreenRecorder(
filename="screen_record.mp4",
duration=10,
fps=30,
monitor_number=1,
mouse=True,
)
📺 Listing Available Monitors
from pyscreenrecorder import pyScreenRecorder
monitors = pyScreenRecorder.list_monitors()
print("Available Monitors:", monitors)
Example Output:
[
{ "monitor": 0, "width": 1920, "height": 1080 },
{ "monitor": 1, "width": 2560, "height": 1440 }
]
🎥 Recording with Custom Settings
from pyscreenrecorder import ScreenRecorder
ScreenRecorder(
filename="custom_record.mp4",
duration=15,
fps=60,
monitor_number=2,
resolution=(1280, 720), # Set custom resolution
mouse=True,
mouse_color=(255, 0, 0), # Red cursor
mouse_size=10,
mouse_thickness=3,
)
🔹 60 FPS Recording
🔹 Custom 1280x720 resolution
🔹 Red-colored mouse cursor with increased size
🛠 Advanced Example
from pyscreenrecorder import pyScreenRecorder
if __name__ == "__main__":
# Display available monitors
monitors = pyScreenRecorder.list_monitors()
print("Available Monitors:", monitors)
# Start recording with advanced settings
pyRec = pyScreenRecorder(
filename="high_quality_record.mp4",
duration=30,
fps=60,
monitor_number=1,
resolution=(1920, 1080), # Full HD recording
mouse=True,
mouse_color=(0, 255, 0), # Green cursor
mouse_size=6,
mouse_thickness=2,
)
pyRec.screenRecorder()
⚙ Supported File Formats
pyscreenrecorder supports the following video formats:
| Format | Description |
|---|---|
| MP4 | High compatibility |
| AVI | Uncompressed quality |
| MKV | Modern, flexible |
Set the format by using the appropriate file extension in filename.
Example:
ScreenRecorder(filename="recording.mkv")
🎯 Dependencies
pyscreenrecorder relies on:
opencv-pythonnumpymsspyautoguiMouseInfoPyGetWindowPyMsgBoxpyperclipPyRectPyScreezepytweening
No additional configuration is required.
📝 License
This project is licensed under the MIT License.
📚 More Information
📌 GitHub Repository:
🔗 https://github.com/SSujitX/pyscreenrecorder
📌 Issue Tracker:
🐛 Report a Bug
🏁 Conclusion
pyscreenrecorder is an efficient, easy-to-use, and customizable screen recording tool in Python. Whether you need basic screen capturing or advanced mouse-tracked recordings, this package provides all the features.
🚀 Try it today! 🚀
Metadata
Release files for pyscreenrecorder 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyscreenrecorder-0.0.3.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyscreenrecorder-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.7 kB
Release files / pyscreenrecorder-0.0.3.tar.gz
| Download URL | pyscreenrecorder-0.0.3.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41bbca546f061b6daa7f763d6643856ef3ad9fdeb2949d2965d775ca1d99c0eb
|
|
BLAKE2b-256 checksum How to use checksums |
8aa2ff4f2cf9b381a357f87a0ed35efebb5bfb7716b33941454e0b0752c4dd19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 2, 2025.
Transparency logRelease files / pyscreenrecorder-0.0.3-py3-none-any.whl
| Download URL | pyscreenrecorder-0.0.3-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfa3b238549f07c59d0b58c6bef5c1508b65bf3a4588f05e9a75ff5df812f9f3
|
|
BLAKE2b-256 checksum How to use checksums |
1fad9d8658850660d63fd369b3d655bd94dee2cdfef7c540c23c56db9c84fc1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 2, 2025.
Transparency log