pyscreenrec
pyscreenrec is a small and cross-platform python library for recording screen.
Installation
Install on Windows:
pip install -U pyscreenrec
Install on Linux/macOS:
pip3 install -U pyscreenrec
Example usage
>>> import pyscreenrec
>>> recorder = pyscreenrec.ScreenRecorder()
>>> # to start recording
>>> recorder.start_recording("recording.mp4", 30, {
"mon": 1,
"left": 100,
"top": 100,
"width": 1000,
"height": 1000
})
>>> # 'recording.mp4' is the name of the output video file, may also contain full path like 'C:/Users/<user>/Videos/video.mp4'
>>> # the second parameter is the FPS for the recording
>>> # the third parameter (optional) is the monitor and the dimensions that needs to be recorded,
# here we're capturing the first monitor, 100px from left, 100px from right, and then 1000px each in resp. axes
# refer https://python-mss.readthedocs.io/examples.html#part-of-the-screen-of-the-2nd-monitor for more information
>>> # to pause recording
>>> recorder.pause_recording()
>>> # to resume recording
>>> recorder.resume_recording()
>>> # to stop recording
>>> recorder.stop_recording()
Take a look at the example GUI screen recorder here for more information.
Keep in mind that the start_recording method is non-blocking, it will start a thread in the background to capture the screenshots.
The stop_recording saves the video. So calling the stop_recording method is necessary when start_recording is called.
You'd ideally need some sort of a timeout or a callback to call the stop_recording function after start_recording, to give the program some time to capture the screen.
If a screen recording session is already running, calling the start_recording and resume_recording methods raises a ScreenRecodingInProgress warning.
Similarly, if a screen recording session is not running, calling the stop_recording and pause_recording methods raises a NoScreenRecodingInProgress warning.
Known limitations
pyscreenrec is not able to:
- capture the system sound during screen recording
Change Log
Changes made in the latest version (v0.6) are:
- Write screenshots directly to the video stream instead of the disk.
- Delegate image writing to a separate thread.
- Use mss library instead of pyscreeze for capturing screenshots.
- Capture a part of the screen.
- Performance improvements.
- Internal refactors.
View CHANGELOG for more details.
Contribution
Pull requests are welcome. If you want to make a major change, open an issue first to discuss about the change.
For further details, view CONTRIBUTING.md.
Release files for pyscreenrec 0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyscreenrec-0.6.tar.gz | 455.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyscreenrec-0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / pyscreenrec-0.6.tar.gz
| Download URL | pyscreenrec-0.6.tar.gz |
|---|---|
| Size | 455.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82fedfe16879af4cc762987769354a1258859b15652d4d463c0ffd01bcb4347e
|
|
BLAKE2b-256 checksum How to use checksums |
0504fe126e7d119556bc081c2789a0bae31cb026c283ef31c4ad1be7504fed75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.11.4 Windows/10
|
Release files / pyscreenrec-0.6-py3-none-any.whl
| Download URL | pyscreenrec-0.6-py3-none-any.whl |
|---|---|
| Size | 582.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
98141829724a238563a466f7c00c03faf04a7735a21fb84e08cd17a0920bf84f
|
|
BLAKE2b-256 checksum How to use checksums |
4d455350004fe53dbaf7f3408dda0144053957aae314edc64abb0b82ee4697b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.11.4 Windows/10
|