pyscreenrecorder


Namepyscreenrecorder JSON
Version 0.0.3 PyPI version JSON
download
home_pagehttps://github.com/SSujitX/pyscreenrecorder
SummaryA python package for screen recording with customizable resolution, FPS, and mouse tracking.
upload_time2025-02-02 00:34:46
maintainerNone
docs_urlNone
authorSujit Biswas
requires_python>=3.9
licenseMIT
keywords screen recorder screen capture video recording screen recording recording screenshots mouse tracking automated screen recording
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version](https://badge.fury.io/py/pyscreenrecorder.svg)](https://badge.fury.io/py/pyscreenrecorder)
[![Python Versions](https://img.shields.io/badge/python-3.9%20|%203.10%20|%203.11%20|%203.12%20|%203.13-blue)](https://pypi.org/project/pyscreenrecorder/)
[![Downloads](https://static.pepy.tech/badge/pyscreenrecorder)](https://pepy.tech/project/pyscreenrecorder)
[![Downloads](https://static.pepy.tech/badge/pyscreenrecorder/week)](https://pepy.tech/project/pyscreenrecorder)

# 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 `mss` for fast screen capture.
- 🎨 **Flexible output formats** – Supports `.mp4`, `.avi`, and `.mkv`.
- 🔍 **Monitor detection** – List available monitors and their specs.

---

## 📦 Installation

Install `pyscreenrecorder` using pip:

```sh
pip install pyscreenrecorder
```

Upgrade `pyscreenrecorder` using pip:

```sh
pip install pyscreenrecorder -U
```

## 🚀 Usage

### Basic Screen Recording

```python
from pyscreenrecorder import ScreenRecorder

ScreenRecorder(
    filename="screen_record.mp4",
    duration=10,
    fps=30,
    monitor_number=1,
    mouse=True,
)
```

## 📺 Listing Available Monitors

```python
from pyscreenrecorder import pyScreenRecorder

monitors = pyScreenRecorder.list_monitors()
print("Available Monitors:", monitors)
```

Example Output:

```json
[
  { "monitor": 0, "width": 1920, "height": 1080 },
  { "monitor": 1, "width": 2560, "height": 1440 }
]
```

## 🎥 Recording with Custom Settings

```python
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

```python
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:

```python
ScreenRecorder(filename="recording.mkv")
```

---

## 🎯 Dependencies

`pyscreenrecorder` relies on:

- `opencv-python`
- `numpy`
- `mss`
- `pyautogui`
- `MouseInfo`
- `PyGetWindow`
- `PyMsgBox`
- `pyperclip`
- `PyRect`
- `PyScreeze`
- `pytweening`

No additional configuration is required.

---

## 📝 License

This project is licensed under the **MIT License**.

---

## 📚 More Information

📌 **GitHub Repository:**  
🔗 [https://github.com/SSujitX/pyscreenrecorder](https://github.com/SSujitX/pyscreenrecorder)

📌 **Issue Tracker:**  
🐛 [Report a Bug](https://github.com/SSujitX/pyscreenrecorder/issues)

---

## 🏁 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!** 🚀

![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2FSSujitX%2Fpyscreenrecorder&countColor=%23263759&labelStyle=upper)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SSujitX/pyscreenrecorder",
    "name": "pyscreenrecorder",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "screen recorder, screen capture, video recording, screen recording, recording, screenshots, mouse tracking, automated screen recording",
    "author": "Sujit Biswas",
    "author_email": "ssujitxx@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8a/a2/ff4f2cf9b381a357f87a0ed35efebb5bfb7716b33941454e0b0752c4dd19/pyscreenrecorder-0.0.3.tar.gz",
    "platform": null,
    "description": "[![PyPI version](https://badge.fury.io/py/pyscreenrecorder.svg)](https://badge.fury.io/py/pyscreenrecorder)\n[![Python Versions](https://img.shields.io/badge/python-3.9%20|%203.10%20|%203.11%20|%203.12%20|%203.13-blue)](https://pypi.org/project/pyscreenrecorder/)\n[![Downloads](https://static.pepy.tech/badge/pyscreenrecorder)](https://pepy.tech/project/pyscreenrecorder)\n[![Downloads](https://static.pepy.tech/badge/pyscreenrecorder/week)](https://pepy.tech/project/pyscreenrecorder)\n\n# Python Screen Recorder\n\nPython screen recorder also `pyscreenrecorder` is a powerful Python package for screen recording with an **optional mouse cursor overlay**.  \nIt allows **high-performance screen capturing**, **custom resolution**, and **real-time mouse tracking**.\n\n## \u2728 Features\n\n- \ud83c\udfa5 **Record screen** with smooth frame rates (30 FPS default).\n- \ud83d\uddb1 **Mouse overlay customization** (color, size, thickness).\n- \ud83d\udcfa **Multi-monitor support** \u2013 Choose which monitor to record.\n- \ud83d\udd04 **Set custom resolution** (e.g., 1280x720, 1920x1080).\n- \u26a1 **Optimized performance** with `mss` for fast screen capture.\n- \ud83c\udfa8 **Flexible output formats** \u2013 Supports `.mp4`, `.avi`, and `.mkv`.\n- \ud83d\udd0d **Monitor detection** \u2013 List available monitors and their specs.\n\n---\n\n## \ud83d\udce6 Installation\n\nInstall `pyscreenrecorder` using pip:\n\n```sh\npip install pyscreenrecorder\n```\n\nUpgrade `pyscreenrecorder` using pip:\n\n```sh\npip install pyscreenrecorder -U\n```\n\n## \ud83d\ude80 Usage\n\n### Basic Screen Recording\n\n```python\nfrom pyscreenrecorder import ScreenRecorder\n\nScreenRecorder(\n    filename=\"screen_record.mp4\",\n    duration=10,\n    fps=30,\n    monitor_number=1,\n    mouse=True,\n)\n```\n\n## \ud83d\udcfa Listing Available Monitors\n\n```python\nfrom pyscreenrecorder import pyScreenRecorder\n\nmonitors = pyScreenRecorder.list_monitors()\nprint(\"Available Monitors:\", monitors)\n```\n\nExample Output:\n\n```json\n[\n  { \"monitor\": 0, \"width\": 1920, \"height\": 1080 },\n  { \"monitor\": 1, \"width\": 2560, \"height\": 1440 }\n]\n```\n\n## \ud83c\udfa5 Recording with Custom Settings\n\n```python\nfrom pyscreenrecorder import ScreenRecorder\n\nScreenRecorder(\n    filename=\"custom_record.mp4\",\n    duration=15,\n    fps=60,\n    monitor_number=2,\n    resolution=(1280, 720),  # Set custom resolution\n    mouse=True,\n    mouse_color=(255, 0, 0),  # Red cursor\n    mouse_size=10,\n    mouse_thickness=3,\n)\n```\n\n\ud83d\udd39 60 FPS Recording  \n\ud83d\udd39 Custom 1280x720 resolution  \n\ud83d\udd39 Red-colored mouse cursor with increased size\n\n## \ud83d\udee0 Advanced Example\n\n```python\nfrom pyscreenrecorder import pyScreenRecorder\n\nif __name__ == \"__main__\":\n    # Display available monitors\n    monitors = pyScreenRecorder.list_monitors()\n    print(\"Available Monitors:\", monitors)\n\n    # Start recording with advanced settings\n    pyRec = pyScreenRecorder(\n        filename=\"high_quality_record.mp4\",\n        duration=30,\n        fps=60,\n        monitor_number=1,\n        resolution=(1920, 1080),  # Full HD recording\n        mouse=True,\n        mouse_color=(0, 255, 0),  # Green cursor\n        mouse_size=6,\n        mouse_thickness=2,\n    )\n    pyRec.screenRecorder()\n```\n\n---\n\n## \u2699 Supported File Formats\n\n`pyscreenrecorder` supports the following video formats:\n\n| Format  | Description          |\n| ------- | -------------------- |\n| **MP4** | High compatibility   |\n| **AVI** | Uncompressed quality |\n| **MKV** | Modern, flexible     |\n\nSet the format by using the appropriate file extension in `filename`.  \nExample:\n\n```python\nScreenRecorder(filename=\"recording.mkv\")\n```\n\n---\n\n## \ud83c\udfaf Dependencies\n\n`pyscreenrecorder` relies on:\n\n- `opencv-python`\n- `numpy`\n- `mss`\n- `pyautogui`\n- `MouseInfo`\n- `PyGetWindow`\n- `PyMsgBox`\n- `pyperclip`\n- `PyRect`\n- `PyScreeze`\n- `pytweening`\n\nNo additional configuration is required.\n\n---\n\n## \ud83d\udcdd License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n## \ud83d\udcda More Information\n\n\ud83d\udccc **GitHub Repository:**  \n\ud83d\udd17 [https://github.com/SSujitX/pyscreenrecorder](https://github.com/SSujitX/pyscreenrecorder)\n\n\ud83d\udccc **Issue Tracker:**  \n\ud83d\udc1b [Report a Bug](https://github.com/SSujitX/pyscreenrecorder/issues)\n\n---\n\n## \ud83c\udfc1 Conclusion\n\n`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.\n\n\ud83d\ude80 **Try it today!** \ud83d\ude80\n\n![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2FSSujitX%2Fpyscreenrecorder&countColor=%23263759&labelStyle=upper)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A python package for screen recording with customizable resolution, FPS, and mouse tracking.",
    "version": "0.0.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/SSujitX/pyscreenrecorder/issues",
        "Documentation": "https://github.com/SSujitX/pyscreenrecorder#readme",
        "Homepage": "https://github.com/SSujitX/pyscreenrecorder",
        "Source Code": "https://github.com/SSujitX/pyscreenrecorder"
    },
    "split_keywords": [
        "screen recorder",
        " screen capture",
        " video recording",
        " screen recording",
        " recording",
        " screenshots",
        " mouse tracking",
        " automated screen recording"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1fad9d8658850660d63fd369b3d655bd94dee2cdfef7c540c23c56db9c84fc1d",
                "md5": "e93180b33f8b1212d2d457252f8c72b3",
                "sha256": "dfa3b238549f07c59d0b58c6bef5c1508b65bf3a4588f05e9a75ff5df812f9f3"
            },
            "downloads": -1,
            "filename": "pyscreenrecorder-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e93180b33f8b1212d2d457252f8c72b3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 7266,
            "upload_time": "2025-02-02T00:34:45",
            "upload_time_iso_8601": "2025-02-02T00:34:45.186124Z",
            "url": "https://files.pythonhosted.org/packages/1f/ad/9d8658850660d63fd369b3d655bd94dee2cdfef7c540c23c56db9c84fc1d/pyscreenrecorder-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8aa2ff4f2cf9b381a357f87a0ed35efebb5bfb7716b33941454e0b0752c4dd19",
                "md5": "8efda054edc8a14f7e21c87d1a904f0d",
                "sha256": "41bbca546f061b6daa7f763d6643856ef3ad9fdeb2949d2965d775ca1d99c0eb"
            },
            "downloads": -1,
            "filename": "pyscreenrecorder-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "8efda054edc8a14f7e21c87d1a904f0d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 6468,
            "upload_time": "2025-02-02T00:34:46",
            "upload_time_iso_8601": "2025-02-02T00:34:46.800231Z",
            "url": "https://files.pythonhosted.org/packages/8a/a2/ff4f2cf9b381a357f87a0ed35efebb5bfb7716b33941454e0b0752c4dd19/pyscreenrecorder-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-02 00:34:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SSujitX",
    "github_project": "pyscreenrecorder",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pyscreenrecorder"
}
        
Elapsed time: 0.56238s