You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 95fca3c
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+21-14Lines changed: 21 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,13 @@ Or with pipx for isolated installation:
14
14
pipx install sharp-frames
15
15
```
16
16
17
-
**IMPORTANT: Video Processing Requirement**: Install FFmpeg separately for video input support.
17
+
**IMPORTANT: Video Processing Requirement**: Install an FFmpeg distribution that includes both `ffmpeg` and `ffprobe`. Both executables must be on `PATH`; image-directory processing does not require them.
18
18
-**Windows**: Download from [FFmpeg website](https://ffmpeg.org/download.html) and add to PATH
19
19
-**macOS**: `brew install ffmpeg`
20
20
-**Linux**: `sudo apt install ffmpeg`
21
21
22
+
HDR-to-SDR extraction additionally requires an FFmpeg build with the `zscale` filter (`libzimg`). You can verify support with `ffmpeg -filters | grep zscale`. Non-HDR video processing does not require `zscale`.
-Replaces command-line prompts with step-by-step wizard
7
-
-Real-time input validation and error feedback
8
-
-Enhanced error messages with specific guidance
5
+
- Explore the complete analyzed frame set in a scrollable timeline — click any bar to preview that frame directly in the terminal.
6
+
-iPhone and HDR sources (BT.2020, HLG, PQ) are detected and converted to sRGB automatically.
7
+
-Get more reliable selections from resolution-normalized focus scoring, trend-aware outlier detection, and improved temporal distribution.
8
+
-Preview and execution now share the same selection rules, so displayed counts and chosen frames agree.
9
9
10
-
### Video Directory Processing
11
-
- Process all videos in a folder with a single command
12
-
- Automatically detects and processes supported video formats
13
-
- Maintains individual processing settings for each video
10
+
## Interface Improvements
14
11
15
-
### Usage Changes
16
-
```bash
17
-
# New default behavior
18
-
sharp-frames # Launches textual interface
19
-
20
-
# Existing functionality unchanged
21
-
sharp-frames input.mp4 output/ # Direct processing
22
-
sharp-frames video_folder/ output/ # Process all videos in folder
23
-
sharp-frames --interactive # Legacy prompts
24
-
```
25
-
26
-
## Technical Changes
12
+
- Full-frame selection timeline with click-to-inspect, horizontal scrolling, and keyboard navigation (arrows, PgUp/PgDn through selected frames, Ctrl+PgUp/PgDn paging, Home/End).
13
+
- Inline frame preview rendered through Sixel or Kitty terminal graphics, with an external-viewer fallback (press `O`).
14
+
- Responsive layout keeps the preview and chart visible on short terminals (down to 80×24) while preserving the spacious layout on large ones.
15
+
- Start Over returns to the first setup step with a clean configuration, and Cancel exits the application.
16
+
- Clearer configuration controls and validation feedback.
17
+
- More actionable dependency and processing errors across supported platforms.
27
18
28
-
### Added
29
-
- Path validation with existence/permission checking
30
-
- Numeric field validation with range checking
31
-
- Thread-safe subprocess management
32
-
- UI component testing
33
-
- Enhanced error analysis and reporting
19
+
## Reliability and Compatibility
34
20
35
-
### Fixed
36
-
- Configuration parameter mapping
37
-
- Resource cleanup (temp files, subprocesses)
38
-
- Error message specificity
21
+
- HDR and wide-gamut color spaces are converted to sRGB/BT.709 through FFmpeg `zscale`, with a clear error for unsupported BT.2020 constant-luminance sources.
22
+
- Hardened FFmpeg and FFprobe cancellation, timeouts, output draining, and temporary-directory cleanup.
23
+
- Unreadable images are excluded and reported instead of silently receiving valid-looking scores.
24
+
- Image exports preserve alpha and handle format conversion, partial failures, metadata accuracy, and case-insensitive filename collisions.
25
+
- CI covers Linux, macOS, and Windows on Python 3.10, 3.11, 3.12, and 3.13, plus the minimum supported Textual version.
39
26
40
-
## Breaking Changes
41
-
-`sharp-frames` without arguments now launches UI instead of showing help
42
-
- Use `sharp-frames --help` for command-line help
27
+
## Upgrade
43
28
44
-
## Installation
45
29
```bash
46
30
pip install --upgrade sharp-frames
47
31
# or
48
32
pipx upgrade sharp-frames
49
33
```
50
34
51
-
## Dependencies
52
-
- Added: `textual>=0.41.0`
53
-
- All existing dependencies unchanged
35
+
New dependencies (`textual-image`, `Pillow`) install automatically. FFmpeg and FFprobe remain required for video processing and must be available on `PATH`; HDR-to-SDR conversion additionally requires FFmpeg built with `zscale`/`libzimg` support.
0 commit comments