-
-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ScreenGear: Added support for DXcam backend on Windows (Fixes #316) #365
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- 🎉 Added initial `dxcam` support for Windows machines. (Fixes #316) - ✨ Implemented complete workflow for dxcam backend. - 🏗️ `dxcam` is now the default backend for Windows machine. - ✨ Added support for tuple value in monitor to specify device and output indexes as `(int[device_idx], int[output_idx])` in dxcam backend only. - 🧑💻 `int` index is also allowed as value for selecting device index. - ⚡️ Added support for variable screen dimensions, to capture an area from screen. - 🚩 Added `dxcam_target_fps` optional flag to control target fps in dxcam. Defaults to `0`(disabled). - ⚡️ RGB frames from dxcam is converted into BGR automatically. - ⚡️ For better performance, `video_mode` is enabled by default. - ➕ Added necessary imports. - ♻️ Refactored code blocks to ensure backward compatibility. - 💥 Enforced threaded queue mode is now removed completely, there might be boost in performance. - 💬 Reason: The IO is automatically blocked by screen refresh rate, so adding overhead of maintaining separate queue is pointless. - 💥 Removed `THREAD_TIMEOUT` optional flag. - 🔥 Cleaned related unused imports and code blocks. - 🍻 Note: Multi-Threading is still there. - 🎨 Implemented short-circuiting. - 🔊 Improved logging. - ✏️ Fixed comment typos.
- ⚡️ Updated docs for Screengear with respect to recent changes. - 🧑💻 Updated usage example docs, added new relevant information, updated requirements. - ✨ Added `dxcam` API Specific Prerequisites for Screengear API, when installing on Windows via pip. - ♻️ Refactored `monitor` and `backend` parameters docs of Screengear API. - 📝 Added new description for Screengear API. - 🗑️ Removed Screengear from Threaded Queue Mode docs. - 🎨 Updated Screengear FAQs. - ✨ Added new hyperlinks. - 🔥 Cleaned redundant code. Screengear API: - 🏗️ Enforced `dxcam` backend(if installed) when `monitor` is defined, on Windows machines. - 💡 Updated comments. Setup.py: - ⬆️ Added `dxcam` dependency in `core` and `asyncio` extra requires. - 💬 Updated keywords.
- 🚑️ Starting from version `8.0.0`, python-mss library dropped support for python `3.7`, so as a temporary measure, it has been pinned to version `7.0.1`.
…mgear tests. - 🚑️ Fixed path bug by replacing absolute file path with decoded file content as string to its `loads()` function. - 🗑️ Removed unused imports.
- 🎨 Fixed context and added separated methods for controlling Chunks size in HLS and DASH stream - 🐛 Screengear: Fixed `backend` not defined while logging. - 🗑️ Manintaince: Removed unused imports.
4 tasks
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## testing #365 +/- ##
===========================================
- Coverage 94.43% 94.16% -0.28%
===========================================
Files 16 16
Lines 3129 3136 +7
===========================================
- Hits 2955 2953 -2
- Misses 174 183 +9
☔ View full report in Codecov by Sentry. |
- 🧑💻 Added GitHub server to `generate_webdata` method to make it more robust for rate limits and other shortcomings. - 🩹 Now, `generate_webdata` method will retry different server when one fails. - 💡 Fixed code comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
DOCS 📜
Issue/PR is related to vidgear docs.
ENHANCEMENT ⚡
New Feature/Addition/Improvement
SOLVED 🏁
This issue/PR is resolved now. Goal Achieved!
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brief Description
This PR will implement
dxcam
backend support in ScreenGear API for Windows machines.Requirements / Checklist
Related Issue
#316
#359
Context
This PR aimed at supporting DXcam backend so that framerate can be greatly improved on Windows machine. This PR will also remove Threaded Queue mode for ScreenGear API.
Types of changes