Skip to content

Releases: pyshine-labs/PyShine-Screen-Recorder

Screen Recorder v1.0.8

Choose a tag to compare

@pyshine-labs pyshine-labs released this 27 Aug 00:35

Screen Recorder v1.0.8

Installation

  1. Download ScreenRecorder-*-setup.exe below
  2. Run the installer and follow the prompts
  3. 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

Choose a tag to compare

@pyshine-labs pyshine-labs released this 26 Aug 13:52

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 F1 or 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_written flag.
  • 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

Choose a tag to compare

@pyshine-labs pyshine-labs released this 26 Aug 10:02

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

Choose a tag to compare

@pyshine-labs pyshine-labs released this 26 Aug 00:32

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.bat utility 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.TransformationMode enum (PyQt6 uses TransformationMode, not SmoothingMode)
  • Cleaned up verbose debug logging

Installation

  1. Download ScreenRecorder.exe below
  2. Run the executable directly (portable — no installation required)
  3. Press F9 to start/stop recording

Screen Recorder v1.0.4

Choose a tag to compare

@github-actions github-actions released this 25 Aug 11:32

Screen Recorder v1.0.4

Installation

  1. Download ScreenRecorder-*-setup.exe below
  2. Run the installer and follow the prompts
  3. 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

Choose a tag to compare

@pyshine-labs pyshine-labs released this 24 Aug 12:40

Screen Recorder v1.0.3

Installation

  1. Download ScreenRecorder-*-setup.exe below
  2. Run the installer and follow the prompts
  3. 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

Choose a tag to compare

@github-actions github-actions released this 23 Aug 03:48

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.Thread with thread-safe queues instead of QThread+QTimer, ensuring mss GDI handles are created and used within the same thread.
  • Fixed pyqtSlot signature mismatch between audio_data signal and write_audio_data slot 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 libx264 instead 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 RecordingWorker class using threading.Thread with audio/command queue.Queue for 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

  1. Download ScreenRecorder-1.0.2-setup.exe below
  2. Run the installer and follow the prompts
  3. 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

Choose a tag to compare

@pyshine-labs pyshine-labs released this 23 Aug 02:07

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

Choose a tag to compare

@github-actions github-actions released this 23 Apr 00:29

Screen Recorder v1.0.0

Installation

  1. Download ScreenRecorder-*-setup.exe below
  2. Run the installer and follow the prompts
  3. 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