Skip to content

JustLachin/PyDisplayWindow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PyDisplayWindow

QUICK DOWNLOAD .EXE ๐Ÿ‘‡

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.


๐ŸŽฏ What Problem Does This Solve?

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:

  1. Capturing your entire screen (or selected monitor)
  2. Displaying it in a window
  3. You select this window in the streaming platform's "Window Capture"
  4. Result: Full screen sharing through a window! ๐ŸŽ‰

โœจ Features

  • ๐Ÿ–ฅ๏ธ 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

๐Ÿ“ฆ Installation

Requirements

  • Python 3.8 or higher
  • Windows, macOS, or Linux

Install Dependencies

pip install -r requirements.txt

Or install individually:

pip install PyQt6 Pillow numpy opencv-python

๐Ÿš€ Usage

Quick Start

Option 1: Use Launcher (Windows)

  1. Double-click start.bat
  2. The launcher will check dependencies and start the app

Option 2: Manual Start

  1. Run the application:

    python main.py
  2. 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"
  3. Start capturing:

    • Click the "Start Capture" button
    • Your selected screen will appear in the window
  4. 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!

Controls

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)

Keyboard Shortcuts

Shortcut Action
Ctrl + D Select Display
Ctrl + Q Quit Application
F11 Toggle Fullscreen

๐ŸŽฎ Use Cases

TikTok Live Streaming

Share your entire gaming setup, tutorial, or desktop when TikTok only offers window capture.

Discord Screen Sharing

Work around Discord's limitations when you need to share multiple windows seamlessly.

OBS Studio

Use as a source in OBS for advanced scene switching and effects.

Presentations & Tutorials

Mirror your main screen to a secondary window for recording or streaming.


โš™๏ธ Configuration

Settings are automatically saved to:

  • Windows: %USERPROFILE%\.pydisplaywindow\config.json
  • macOS/Linux: ~/.pydisplaywindow/config.json

Adjustable Settings

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

๐Ÿ”ง Troubleshooting

Application won't start

  • Ensure all dependencies are installed: pip install -r requirements.txt
  • Check Python version: python --version (must be 3.8+)

Display not detected

  • Click the "๐Ÿ”„ Refresh Display List" button
  • Ensure your monitor is properly connected
  • Try restarting the application

Low FPS / Stuttering

  • 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

Black screen

  • Some applications with DRM protection may show black (this is expected)
  • Try capturing a different display or region

๐Ÿ—๏ธ Architecture

PyDisplayWindow/
โ”œโ”€โ”€ main.py              # Main application entry point
โ”œโ”€โ”€ start.bat            # Windows launcher script
โ”œโ”€โ”€ requirements.txt     # Python dependencies
โ””โ”€โ”€ README.md           # This file

Key Components

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

๐Ÿ“ License

MIT License - Feel free to use, modify, and distribute!


๐Ÿ™ Credits

  • Built with PyQt6 for the user interface
  • Screen capture powered by Windows APIs and Pillow
  • Image processing with Pillow, NumPy, and OpenCV

๐Ÿ’ก Tips for Best Results

  1. Match FPS to your stream - If streaming at 30fps, set PyDisplayWindow to 30fps
  2. Use "Always on Top" when you need the window visible while working
  3. Pause when switching - Pause capture when changing sensitive content
  4. Close unnecessary apps - For best performance, minimize background applications

๐Ÿ“ง Support

For issues, suggestions, or contributions:

  • Open an issue on the project repository
  • Contact the PyDisplayWindow team

Enjoy streaming with PyDisplayWindow! ๐ŸŽฅโœจ

About

Professional screen capture tool for streaming - capture any monitor, display it in a window with smooth 60 FPS. Built with PyQt6, Windows API & OpenCV. Multi-monitor support, hardware acceleration, cursor capture. Perfect for TikTok Live. Open source. DOWNLOAD BELOVE๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors