Releases: pyshine-labs/PyShine-Screen-Recorder
Releases · pyshine-labs/PyShine-Screen-Recorder
Release list
Screen Recorder v1.0.8
Screen Recorder v1.0.8
Installation
- Download
ScreenRecorder-*-setup.exebelow - Run the installer and follow the prompts
- Launch Screen Recorder from the Start Menu
Portable Version
Download ScreenRecorder-*-portable.zip for a portable version that doesn't require installation.
What's Changed
PyShine Screen Recorder v1.0.7
PyShine Screen Recorder v1.0.7
What's New
- 100% A/V sync on long recordings — Producer-consumer architecture: capture thread pushes frames to a bounded 5-frame queue, dedicated writer thread paces at strict 30fps CFR by writing duplicate frames when queue is empty. Eliminates progressive A/V drift on long recordings.
- 1080p native resolution — Restored full 1920×1080 capture (no more 720p compromise). 4K monitors downscale to 1080p via 2×2 box filter.
- Professional dark-themed UI — Compact rectangular layout with 3-tier surface palette, indigo accents, circular icon buttons, horizontal stereo audio meter, side-by-side Capture/Monitor selectors.
- Help dialog — Press
F1or click the?button for keyboard shortcuts (F9, F10, Enter, Escape) and a quick-start guide. - PyShine branding — Logo + version pill + clickable www.pyshine.com link in the brand bar.
Bug Fixes
- Silent video regression — Audio gate decoupled from frame counter using dedicated
first_frame_writtenflag. - Synchronous stop retained — Background-thread stop broke A/V sync due to GIL contention on audio-level callback. Reverted to synchronous stop for perfect sync.
Downloads
ScreenRecorder.exe— Standalone executable, no installation required.ScreenRecorder-v1.0.7-portable.zip— Portable zip version.
Keyboard Shortcuts
| Key | Action |
|---|---|
| F9 | Start / Stop recording (global) |
| F10 | Pause / Resume recording (global) |
| F1 | Open Help dialog |
| Enter | Confirm region selection |
| Escape | Cancel region selection |
v1.0.6 — Near-Lossless Quality + A/V Sync Fix
What's New
Quality
- Near-lossless H.264 encoding (CRF 1, High profile, yuv420p) — visually indistinguishable from source, universally playable
- Box-filter downscaling for 4K monitors to 1080p — 2x2 area-averaging, the theoretically optimal method (no aliasing, no blurring)
Performance
- Cached GPU staging texture — staging texture created once and reused every frame, eliminating the per-frame GPU allocation that caused video stutter and freeze after 1-2 seconds
- Reduced DXGI timeout from 50ms to 16ms (matches 60Hz display refresh)
A/V Sync
- Duplicate-frame catch-up — when the pipeline falls behind, duplicate frames are written to fill the gap (instead of skipping), ensuring the video timeline never falls behind audio
- Audio start gate — audio starts immediately but drops data until the first video frame is written
UI
- PyShine logo in toolbar
- Delete recordings from disk when removed from history
- F9 hotkey for start/stop
- Removed file size (MB) display from status bar
- Fixed Qt.TransformationMode enum (PyQt6)
Downloads
- \ScreenRecorder.exe\ — standalone executable, no installation required
Screen Recorder v1.0.5
Screen Recorder v1.0.5
What's New
UI Improvements
- Added PyShine logo to the main window toolbar (visible brand mark in top-left corner)
- Set Windows AppUserModelID for proper taskbar icon grouping
- Removed file size (MB) display from the status bar — now shows only duration and FPS for a cleaner UI
Icon & Branding
- Regenerated app.ico with 7 sizes (16, 24, 32, 48, 64, 128, 256) including 256x256 for high-DPI displays
- Fixed EXE icon embedding — icon now properly embedded as a Windows PE resource
- Added
clear_icon_cache.batutility to clear stubborn Windows icon cache
Bug Fixes
- Fixed file deletion — files removed from the history panel are now actually deleted from disk
- Fixed
Qt.TransformationModeenum (PyQt6 usesTransformationMode, notSmoothingMode) - Cleaned up verbose debug logging
Installation
- Download
ScreenRecorder.exebelow - Run the executable directly (portable — no installation required)
- Press F9 to start/stop recording
Screen Recorder v1.0.4
Screen Recorder v1.0.4
Installation
- Download
ScreenRecorder-*-setup.exebelow - Run the installer and follow the prompts
- Launch Screen Recorder from the Start Menu
Portable Version
Download ScreenRecorder-*-portable.zip for a portable version that doesn't require installation.
What's Changed
Screen Recorder v1.0.3
Screen Recorder v1.0.3
Installation
- Download
ScreenRecorder-*-setup.exebelow - Run the installer and follow the prompts
- Launch Screen Recorder from the Start Menu
Portable Version
Download ScreenRecorder-*-portable.zip for a portable version that doesn't require installation.
What's Changed
v1.0.2 - Crash Fix Release
What's Fixed in v1.0.2
Critical Bug Fixes
- Fixed app crash/exit when starting recording - The app would immediately exit when clicking the record button due to thread-affinity issues with mss (screen capture library) and Qt's QThread model.
- Fixed mss thread-local GDI handle errors (
'_thread._local' object has no attribute 'srcdc') at high frame rates (60fps). - Rewrote recording pipeline using Python's native
threading.Threadwith thread-safe queues instead of QThread+QTimer, ensuring mss GDI handles are created and used within the same thread. - Fixed
pyqtSlotsignature mismatch betweenaudio_datasignal andwrite_audio_dataslot that prevented audio from being passed to the encoder. - Added automatic hardware encoder fallback - When hardware encoders (QSV/NVENC/AMF) are not available, automatically falls back to software
libx264instead of crashing. - Improved mss resource cleanup on recording stop, handling thread-local handle errors gracefully.
- System audio (WASAPI loopback) now works correctly when the microphone is turned off.
Technical Changes
- New
RecordingWorkerclass usingthreading.Threadwith audio/commandqueue.Queuefor cross-thread communication. - Frame timing maintained with
time.perf_counter()for precise fps capture. - Removed dependency on QThread/QTimer for the capture/encoding loop.
- Audio data delivered via thread-safe queue instead of relying solely on Qt signals cross-thread.
Installation
- Download
ScreenRecorder-1.0.2-setup.exebelow - Run the installer and follow the prompts
- Launch Screen Recorder from the Start Menu
Portable Version
Download ScreenRecorder-v1.0.2-portable.zip for a portable version that doesn't require installation. Just extract and run ScreenRecorder.exe.
Screen Recorder v1.0.1
Bug Fixes
Fixed: System audio recording when microphone is disabled
This release fixes a critical issue where system audio (from videos, music, or any audio playing on your computer) was not being recorded when the microphone was turned off.
Changes:
- Fixed WASAPI loopback device discovery: replaced non-existent API call with get_default_wasapi_loopback() and added 3 fallback strategies
- Fixed audio format: WASAPI loopback devices require paInt16 (not paFloat32) — added proper int16→float32 conversion
- Fixed audio array shape: always reshaped to 2D (frames, channels) for encoder compatibility
- Fixed stream startup: added start=False before explicit start_stream() to ensure callbacks fire correctly
- Added auto-fallback: system audio is automatically enabled when microphone is disabled, preventing silent recordings
- Fixed get_actual_channels() to report loopback channel count when microphone is off
Files:
- ScreenRecorder.exe — Windows 64-bit standalone executable
Screen Recorder v1.0.0
Screen Recorder v1.0.0
Installation
- Download
ScreenRecorder-*-setup.exebelow - Run the installer and follow the prompts
- Launch Screen Recorder from the Start Menu
Portable Version
Download ScreenRecorder-*-portable.zip for a portable version that doesn't require installation.