An open API service providing repository metadata for many open source software ecosystems.

Video frame extraction and image analysis for 3DGS dataset preparation. Same selection methods as in the Sharp Frames application.

Releases
v0.3.0 - Real-time selection previews

v0.3.0

Added

  • Two-phase processing architecture: Separate extraction/analysis from selection phase
  • Interactive selection screen: Visual preview of frame selection with real-time feedback
  • Sharpness visualization: Bar chart showing frame quality distribution (first 100 frames)
  • Live selection preview: See frame count before applying selection
  • Parameter adjustment: Fine-tune selection parameters with instant visual feedback

Changed

  • TUI workflow: Now operates in distinct extraction and selection phases
  • Selection process: Interactive with visual feedback instead of batch processing
  • Resource efficiency: Analyze frames once, try multiple selection methods without reprocessing

Fixed

  • Windows compatibility: FFmpeg process hanging on Windows with large videos
  • Process termination: Proper subprocess cleanup with timeout handling
  • Thread safety: Enhanced concurrent processing stability on Windows

Technical

  • Two-phase TUIProcessor: New orchestrator for separated extraction and selection phases
  • Selection preview API: Added preview_selection methods to processor and selector
  • SharpnessChart widget: Custom Textual widget for frame quality visualization
  • Windows FFmpeg fix: Proactive termination on frame count completion with stall detection
7 months ago
Download
V0.2.4

v0.2.4

[0.2.4] - 2025-01-21

Added

  • Smart Path Sanitization: Automatically removes quotes, shell command prefixes, and escape sequences from pasted file paths
  • Intelligent File Path Routing: Drag-and-drop and file paths are automatically routed to appropriate input fields based on context
  • Enhanced Input Validation: Visual feedback for valid/invalid inputs with helpful hints
  • Improved User Experience: Seamless path handling eliminates common user frustrations

Changed

  • Path Input UX: File path inputs now automatically clean user input for better usability
  • Input Field Validation: Enhanced validators with automatic path sanitization
  • Visual Feedback: Added helpful text indicating automatic quote removal

Fixed

  • Processing Error Handling: Improved error messages and user feedback in processing screen
  • Configuration Validation: Better handling of path validation edge cases
  • MacOS fixes: Versions 0.2.1 - 0.2.3 addressed several cross compatibility issues with the textual interface on MacOS

Technical

  • New PathSanitizer Utility: Comprehensive path cleaning with extensive test coverage (366+ test cases)
  • Enhanced Validators: All path validators now support automatic sanitization
  • Smart File Type Detection: Context-aware routing based on file extensions and current step
9 months ago
Download
v0.2.3 - Cross compatibility patch

v0.2.3

Includes macOS processing improvements and fixes.

9 months ago
Download
v0.2.0 - TUI and video directory processing

v0.2.0

New Features

Textual Interface (Default)

  • Replaces command-line prompts with step-by-step wizard
  • Real-time input validation and error feedback
  • Enhanced error messages with specific guidance

Video Directory Processing

  • Process all videos in a folder with a single command
  • Automatically detects and processes supported video formats
  • Maintains individual processing settings for each video

Usage Changes

# New default behavior
sharp-frames                    # Launches textual interface

# Existing functionality unchanged  
sharp-frames input.mp4 output/  # Direct processing
sharp-frames video_folder/ output/  # Process all videos in folder
sharp-frames --interactive      # Legacy prompts

Technical Changes

Added

  • Path validation with existence/permission checking
  • Numeric field validation with range checking
  • Thread-safe subprocess management
  • UI component testing
  • Enhanced error analysis and reporting

Fixed

  • Configuration parameter mapping
  • Resource cleanup (temp files, subprocesses)
  • Error message specificity

Breaking Changes

  • sharp-frames without arguments now launches UI instead of showing help
  • Use sharp-frames --help for command-line help

Installation

pip install --upgrade sharp-frames
# or
pipx upgrade sharp-frames

Dependencies

  • Added: textual>=0.41.0
  • All existing dependencies unchanged
9 months ago
Download
v0.1.3 - Image resizing

v0.1.3

Added

  • Image resizing feature: New --width parameter to specify a custom width for extracted frames
  • Proportional scaling that preserves aspect ratio for both video extraction and directory processing
  • Interactive mode prompt for specifying resize width

Fixed

  • Improved FFmpeg subprocess handling to better manage stderr output
11 months ago
Download
v0.1.2

v0.1.2

[0.1.2] - 2024-06-18

Added

  • Preserve original filenames when processing images from a directory
11 months ago
Download
Release v0.1.1

v0.1.1

Minor fixes and cleanup

  • Updated default batch buffer value from 0 to 2 for better results in batched mode
  • Improved FFmpeg dependency detection and warning messages

Fixed

  • Fixed import issues that caused errors when running without installation
11 months ago
Download
Initial Release v0.1.0

v0.1.0

Added

  • Initial release
  • Support for extracting frames from video files
  • Support for processing directories of images
  • Three frame selection methods:
    • best-n: Select best frames while maintaining minimum distance
    • batched: Select best frame from each batch
    • outlier-removal: Remove outliers based on comparison with neighbors
  • Interactive mode with guided prompts
  • Proper Python package structure for pip and pipx installation
  • Command-line interface with sharp-frames command
11 months ago
Download
Links
Repository Details
  • Stars 120
  • Forks 11
  • Open issues 1
  • License other
  • Language Python
  • Size 271 KB
  • Created at 11 months ago
  • Updated at 2 months ago
  • Pushed at 7 months ago
  • Last synced at 2 months ago
  • Dependencies parsed at Pending