{"id":26462039,"url":"https://github.com/ssujitx/pyscreenrecorder","last_synced_at":"2025-03-19T05:16:27.326Z","repository":{"id":275356787,"uuid":"925852653","full_name":"SSujitX/pyscreenrecorder","owner":"SSujitX","description":"A python screen recording package with customizable resolution, FPS, and mouse tracking.","archived":false,"fork":false,"pushed_at":"2025-02-02T00:34:14.000Z","size":43,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-07T06:03:26.853Z","etag":null,"topics":["pyscreenrec","python","recorder","recording","screen","screen-capture","screenrecorder","screenshot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SSujitX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-01T22:32:16.000Z","updated_at":"2025-02-13T00:54:56.000Z","dependencies_parsed_at":"2025-02-01T23:15:30.289Z","dependency_job_id":null,"html_url":"https://github.com/SSujitX/pyscreenrecorder","commit_stats":null,"previous_names":["ssujitx/pyscreenrecorder"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSujitX%2Fpyscreenrecorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSujitX%2Fpyscreenrecorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSujitX%2Fpyscreenrecorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSujitX%2Fpyscreenrecorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SSujitX","download_url":"https://codeload.github.com/SSujitX/pyscreenrecorder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244358445,"owners_count":20440361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pyscreenrec","python","recorder","recording","screen","screen-capture","screenrecorder","screenshot"],"created_at":"2025-03-19T05:16:26.700Z","updated_at":"2025-03-19T05:16:27.320Z","avatar_url":"https://github.com/SSujitX.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![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## ✨ Features\n\n- 🎥 **Record screen** with smooth frame rates (30 FPS default).\n- 🖱 **Mouse overlay customization** (color, size, thickness).\n- 📺 **Multi-monitor support** – Choose which monitor to record.\n- 🔄 **Set custom resolution** (e.g., 1280x720, 1920x1080).\n- ⚡ **Optimized performance** with `mss` for fast screen capture.\n- 🎨 **Flexible output formats** – Supports `.mp4`, `.avi`, and `.mkv`.\n- 🔍 **Monitor detection** – List available monitors and their specs.\n\n---\n\n## 📦 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## 🚀 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## 📺 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## 🎥 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🔹 60 FPS Recording  \n🔹 Custom 1280x720 resolution  \n🔹 Red-colored mouse cursor with increased size\n\n## 🛠 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## ⚙ 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## 🎯 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## 📝 License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n## 📚 More Information\n\n📌 **GitHub Repository:**  \n🔗 [https://github.com/SSujitX/pyscreenrecorder](https://github.com/SSujitX/pyscreenrecorder)\n\n📌 **Issue Tracker:**  \n🐛 [Report a Bug](https://github.com/SSujitX/pyscreenrecorder/issues)\n\n---\n\n## 🏁 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🚀 **Try it today!** 🚀\n\n![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2FSSujitX%2Fpyscreenrecorder\u0026countColor=%23263759\u0026labelStyle=upper)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssujitx%2Fpyscreenrecorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssujitx%2Fpyscreenrecorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssujitx%2Fpyscreenrecorder/lists"}