shravanasati / pyscreenrec

A small python library for recording screen.
https://pypi.org/project/pyscreenrec/
MIT License
20 stars 3 forks source link
capture hacktoberfest python python-library screen-capture screen-recording video

pyscreenrec

pyscreenrec is a small and cross-platform python library for recording screen.

PyPI Downloads


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:


Change Log

Changes made in the latest version (v0.6) are:

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.