- DOWNLOAD HERE๐๐๐ https://github.com/JustLachin/PyDisplayWindow/releases/download/v2.0.0/PyDisplayWindow.zip
Display to Window Capture Stream Application
A professional screen capture application that displays your screen in a window, enabling full screen sharing through window capture in streaming platforms like Discord, TikTok Live, OBS Studio, and more.
When streaming on platforms like TikTok Live or Discord, you're often limited to either:
- Window Capture - Share only a specific application window
- Screen Capture - Share your entire screen
However, many platforms (especially TikTok Live Studio app) only offer Window Capture with no "Share Screen" option. This is problematic when you want to share multiple windows or your entire desktop.
PyDisplayWindow solves this by:
- Capturing your entire screen (or selected monitor)
- Displaying it in a window
- You select this window in the streaming platform's "Window Capture"
- Result: Full screen sharing through a window! ๐
- ๐ฅ๏ธ Multi-Monitor Support - Select any connected display to capture
- โก High Performance - Optimized for 15-60 FPS with minimal CPU usage
- ๏ฟฝ Scale Factor - Reduce resolution for better performance (25-100%)
- ๏ฟฝ FPS Counter - Real-time performance monitoring
- ๐๏ธ Professional Controls - Pause, resume, change displays on-the-fly
- ๐ช Always on Top - Keep the window visible above other applications
- ๐พ Persistent Settings - Your preferences are saved between sessions
- ๐จ Dark Theme - Modern, eye-friendly interface
- โจ๏ธ Keyboard Shortcuts - Quick access to common actions
- ๐ Logging System - Detailed logs for troubleshooting
- Python 3.8 or higher
- Windows, macOS, or Linux
pip install -r requirements.txtOr install individually:
pip install PyQt6 Pillow numpy opencv-python- Double-click
start.bat - The launcher will check dependencies and start the app
-
Run the application:
python main.py
-
Select your display:
- On first launch, the Display Selector dialog appears automatically
- Choose which monitor you want to capture
- Set your preferred FPS (15-60)
- Click "OK"
-
Start capturing:
- Click the "Start Capture" button
- Your selected screen will appear in the window
-
Stream!
- Open your streaming platform (Discord, TikTok, OBS, etc.)
- Select "Window Capture"
- Choose "PyDisplayWindow" from the window list
- Your viewers now see your full screen!
| Button | Function |
|---|---|
| โถ Start Capture | Begin screen capture |
| โน Stop Capture | Stop screen capture |
| โธ Pause | Pause the stream (freeze frame) |
| ๐ฅ Change Display | Switch to a different monitor |
| FPS Dropdown | Change frame rate (15/30/45/60) |
| Shortcut | Action |
|---|---|
Ctrl + D |
Select Display |
Ctrl + Q |
Quit Application |
F11 |
Toggle Fullscreen |
Share your entire gaming setup, tutorial, or desktop when TikTok only offers window capture.
Work around Discord's limitations when you need to share multiple windows seamlessly.
Use as a source in OBS for advanced scene switching and effects.
Mirror your main screen to a secondary window for recording or streaming.
Settings are automatically saved to:
- Windows:
%USERPROFILE%\.pydisplaywindow\config.json - macOS/Linux:
~/.pydisplaywindow/config.json
| Setting | Range | Default | Description |
|---|---|---|---|
| Target FPS | 15-60 | 30 | Frame rate for capture |
| Quality | 50-100% | 85% | Image quality |
| Scale Factor | 25-100% | 50% | Reduce resolution for better performance |
| Always on Top | On/Off | Off | Keep window above others |
| Show FPS | On/Off | On | Display FPS counter |
- Ensure all dependencies are installed:
pip install -r requirements.txt - Check Python version:
python --version(must be 3.8+)
- Click the "๐ Refresh Display List" button
- Ensure your monitor is properly connected
- Try restarting the application
- Lower the FPS setting (try 15 or 30)
- Use Scale Factor - Reduce to 50% or 25% for much better performance
- Close other applications to free up CPU/GPU
- Reduce screen resolution if possible
- Some applications with DRM protection may show black (this is expected)
- Try capturing a different display or region
PyDisplayWindow/
โโโ main.py # Main application entry point
โโโ start.bat # Windows launcher script
โโโ requirements.txt # Python dependencies
โโโ README.md # This file
| Component | Purpose |
|---|---|
DisplayManager |
Detects and manages connected monitors |
CaptureWorker |
Background thread for screen capture |
DisplaySelectionDialog |
UI for choosing display and settings |
MainWindow |
Primary application window with controls |
MIT License - Feel free to use, modify, and distribute!
- Built with PyQt6 for the user interface
- Screen capture powered by Windows APIs and Pillow
- Image processing with Pillow, NumPy, and OpenCV
- Match FPS to your stream - If streaming at 30fps, set PyDisplayWindow to 30fps
- Use "Always on Top" when you need the window visible while working
- Pause when switching - Pause capture when changing sensitive content
- Close unnecessary apps - For best performance, minimize background applications
For issues, suggestions, or contributions:
- Open an issue on the project repository
- Contact the PyDisplayWindow team
Enjoy streaming with PyDisplayWindow! ๐ฅโจ