Skip to content

Tags: iTroy0/WebP-Converter

Tags

v2.1

Toggle v2.1's commit message
v2.1: bug fixes, UX overhaul, drop moviepy for direct ffmpeg

Bug fixes:
- Fix thread-safety: snapshot all tkinter vars on main thread before
  dispatching to worker threads
- Fix video clip resource leak (ffmpeg process not closed on error)
- Fix GIF export leaking file handles
- Fix progress bar inaccuracy in combine mode
- Fix preview compositing ignoring disposal methods
- Clamp custom resolution to 7680px max to prevent memory exhaustion
- Validate and sanitize all values loaded from settings.json
- Move settings file to platform config dir (%APPDATA% / ~/.config)
- Pin dependency versions in requirements.txt

UX improvements:
- Add cancel button (Escape) that kills ffmpeg instantly mid-encode
- Add per-file status indicators in queue (converting/done/error)
- Add keyboard shortcuts: Ctrl+O add files, Delete remove, Escape cancel
- Click-to-toggle preview playback (replaces undiscoverable hover)
- Show file count in queue header
- Hide custom resolution fields when not in Custom mode
- Lock add/clear controls during conversion
- Clamp toast notifications to screen bounds
- Clickable empty queue state opens file picker

Architecture:
- Replace moviepy with direct ffmpeg subprocess via imageio-ffmpeg
  (instant cancel, smaller build, fewer dependencies)
- Remove ThreadPoolExecutor (PIL resize is GIL-bound, no benefit)
- Cross-platform fonts (Segoe UI / SF Pro / sans-serif)
- Guard private customtkinter API with try/except
- Deduplicate aspect_fit / make_even logic
- Remove dead code (_resume_preview)

New files:
- start.sh: Linux/macOS interactive launcher/builder
- app_icon.ico: app icon matching the cyan/dark theme

1.0

Toggle 1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Revamp start.bat for improved UI and functionality

Updated the start.bat script to enhance the user interface and improve functionality for running and building the WebP Converter application.

v0.3

Toggle v0.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update webp_converter_gui.py

1.Enhanced Progress Bar
a. Implemented a smooth, animated progress bar that updates in b. real-time during the conversion process.
c. Displays detailed status messages, such as "Extracting frames" and "Encoding video," to inform users of the current operation.

2.Custom Resolution Support
a. Added the ability for users to specify custom output resolutions.
b. Users can input desired width and height values for the output video or GIF.

v0.2

Toggle v0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update webp_converter_gui.py. features, improvements and bug fixes

✅ 1. Added GIF Export Support
Your app can now export to .gif format, not just .mp4, .mkv, .webm.
adjusted arguments for best possible quality for .gif files

✅ 2. Adjustment to UI
You can now resize the window (both width and height freely).
Minimized restriction on minimum size.
Adjust spacings
Set some order into the UI

✅ 3. Widened the Animation Preview
Previews of selected WebPs are now bigger (400x400 instead of 300x300).

✅ 4. Multithreaded Frame Extraction
Frame saving during extraction now happens with multi-core (ThreadPoolExecutor).
Speeds up frame extraction dramatically for big WebPs.

✅ 5. Resolution Preset Dropdown
A new dropdown was added to the settings panel with the label: “Resolution Preset:”
The options in the dropdown are:
"Same Resolution" (default)
"480p"
"720p"
"1080p"
"4K"
✅ 6. Compression Quality Setting (CRF Slider)
Added a CRF slider: range from 18 (high quality) to 30 (more compression)
defaults 22
✅ 7. FPS Slider range from 1 to 60
defaults 16
✅ 8. Bug fixes 
 Make open_output_folder() cross-platform it was windows only

v0.1

Toggle v0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update webp_converter_gui.py. features, improvements and bug fixes

✅ 1. Added GIF Export Support
Your app can now export to .gif format, not just .mp4, .mkv, .webm.
adjusted arguments for best possible quality for .gif files

✅ 2. Adjustment to UI
You can now resize the window (both width and height freely).
Minimized restriction on minimum size.
Adjust spacings
Set some order into the UI

✅ 3. Widened the Animation Preview
Previews of selected WebPs are now bigger (400x400 instead of 300x300).

✅ 4. Multithreaded Frame Extraction
Frame saving during extraction now happens with multi-core (ThreadPoolExecutor).
Speeds up frame extraction dramatically for big WebPs.

✅ 5. Resolution Preset Dropdown
A new dropdown was added to the settings panel with the label: “Resolution Preset:”
The options in the dropdown are:
"Same Resolution" (default)
"480p"
"720p"
"1080p"
"4K"
✅ 6. Compression Quality Setting (CRF Slider)
Added a CRF slider: range from 18 (high quality) to 30 (more compression)
defaults 22
✅ 7. FPS Slider range from 1 to 60
defaults 16
✅ 8. Bug fixes 
 Make open_output_folder() cross-platform it was windows only

prerelease

Toggle prerelease's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update README.md

typos
added screenshot
more features