Releases: nokarin-dev/FrameExtractor
Releases · nokarin-dev/FrameExtractor
Frame Extractor v1.1.2
Fixed
CI/CD
- Fixed Linux AppImage launch error
Is a directory-$EXE_NAMEwas set in CI shell but not expanded inside the AppRun heredoc (single-quoted heredoc prevents variable substitution). AppRun now detects the executable at runtime usingfind
Added
Core
- Style Switcher
- Classic Style (Default)
- Liquid Glass Style (EXPERIMENTAL)
- Theme Switcher
- Dark Theme
- Light Theme
- Keyboard Shortcut
- Space (Extract)
- Esc (Cancel Extraction)
- Ctrl+L (Open Log Panel)
- Ctrl+S (Open Settings Panel)
- Application Icons
Changes
Android
- Upgrade android plugins to latest version
User Interface
- Log & Settings now show as dialog in desktop
- Splash Screen now following current theme & style
Windwos
Linux
Android
Frame Extractor v1.1.1
Fixed
Android
- Frame extraction now works correctly - ffmpeg output is written to the app's writable directory (
Android/data/com.nokarin.frameextractor/files/) instead of trying to write directly to/storage/emulated/0/which is blocked by Android 10+ Scoped Storage - YouTube download now uses the app's cache directory, fixing
Operation not permittederror when downloading to external storage - SAF (Storage Access Framework) URI resolution improved with proper fallback to writable app directory
Added
User Interface
- Mouse cursor changes to pointer on all interactive elements (buttons, chips, sliders, file rows, tabs)
- Text cursor shown on text input fields
- Hint bar below Extract button — explains what needs to be selected before extraction can start
- Clear button on video file and output folder rows for quick reset
- Hover effect on file/folder rows using
borderHicolor - Hover effect on Extract and Cancel buttons (brighter fill on hover)
- Toast notifications now include an icon (check, error, cancel)
- Progress card background tinted by phase: blue for extraction, red for YouTube download
- Log panel: color-coded log lines —
[ERR]red,[WARN]orange,[INFO]/[Android]/[Copy]blue - Log line count badge in log panel header
Settings & UX
- All extraction settings (FPS, quality, format, time range) are disabled until video source and output folder are both selected
- Tooltip on disabled settings card explaining what needs to be selected
- Source tab switching and YouTube quality chips are disabled during active extraction
- Advanced options toggle is disabled when settings are not yet unlocked
- Default output format changed from PNG to JPG (smaller file size)
- Default quality changed from 100% to 90%
- "Open folder when done" toggle now has a subtitle description
Changed
UI
- Progress card is now shown/hidden dynamically instead of always visible
- Progress card label shows
EXTRACTINGorDOWNLOADINGdepending on the current phase - Comment style in source code simplified (no decorative separator lines)
Downloads
Windwos
Linux
Android
Frame Extractor v1.1.0
Added
Core Features
- Extract frames from local video files with precise start/end time control
- Adjustable frame rate (1–60 FPS)
- Multiple output formats: PNG, JPG, WebP, BMP
- Image quality control (1–100%)
- Resolution scaling (10%–200%)
- Custom filename prefix for frames
- Option to automatically open the output folder after extraction (desktop)
YouTube Support
- Paste a YouTube link and extract frames directly
- Automatically fetch video metadata (title, uploader, duration)
- Select video quality: Best / 1080p / 720p / 480p / 360p / Audio only
- Desktop uses bundled yt-dlp (no setup required)
- Android & iOS use youtube_explode_dart (no external binaries needed)
- Temporary downloaded videos are cleaned up automatically after processing
Platform Support
- Windows (installer + portable)
- Linux (installer + portable)
- macOS (DMG + portable ZIP)
- Android (split APK: arm64, arm32, x86_64)
- iOS (unsigned IPA for sideloading via AltStore / TrollStore)
Bundled Tools
- ffmpeg and yt-dlp are included by default — no manual installation needed
- Android uses ffmpeg_kit (JNI)
- iOS uses native Dart-based solutions due to sandbox restrictions
- Desktop extracts required binaries automatically on first launch
User Interface
- Dark industrial-themed UI with a custom color palette
- Custom frameless window (desktop) with drag support
- Built-in minimize and close buttons (desktop)
- Source selection tabs: Local File / YouTube
- Real-time log panel (with terminal-style output)
- Copy logs to clipboard in one click
- Live progress tracking (percentage, frame count, ETA)
- Animated indicator during processing
- Format selection using chip-style buttons
- Collapsible advanced settings (scale, prefix, auto-open folder)
- Fully responsive layout (works on smaller/mobile screens)
- Splash screen showing binary initialization status
CI / CD
- GitHub Actions builds for all platforms on version tag push
- Automatic test builds on every push / pull request
- Auto-generated GitHub Releases with platform download table
- Android split APK build pipeline
- Local binary preparation script (
scripts/prepare_binaries.py)
Release Notes
Android
Due to Scoped Storage (Android 10+), extracted frames are saved in:
Android/data/com.nokarin.frameextractor/files/
You can access them via:
Files → Internal Storage → Android → data → com.nokarin.frameextractor → files
iOS
YouTube extraction uses youtube_explode_dart.
Running external binaries (like yt-dlp) is not allowed due to Apple's sandbox policy.
Desktop (Windows / Linux / macOS)
ffmpeg and yt-dlp are bundled inside the app.
On first launch, required binaries are extracted to:
- Installer:
- Windows:
%AppData%\FrameExtractor\bin\ - Linux:
~/.local/share/FrameExtractor/bin/
- Windows:
- Portable:
bin/folder next to the executable
Downloads
| Platform | File | Notes |
|---|---|---|
| 🪟 Windows | FrameExtractor-windows-installer.zip |
Extract & run .exe |
| 🪟 Windows Portable | FrameExtractor-windows-portable.zip |
No install needed |
| 🐧 Linux (.deb) | FrameExtractor-linux-installer.deb |
sudo dpkg -i *.deb - installs to /opt/frameextractor |
| 🐧 Linux (.AppImage) | FrameExtractor-linux.AppImage |
Single file, runs on any distro |
| 🐧 Linux Portable | FrameExtractor-linux-portable.tar.gz |
Extract & run anywhere |
| 🤖 Android (arm64) | FrameExtractor-android-arm64.apk |
Most modern phones (2018+) |
| 🤖 Android (arm32) | FrameExtractor-android-arm32.apk |
Older 32-bit phones |
| 🤖 Android (x86_64) | FrameExtractor-android-x86_64.apk |
Emulators / Chromebooks |
Windows/Linux/macOS: ffmpeg & yt-dlp bundled inside the zip/dmg.
Android: yt-dlp bundled in APK, ffmpeg via ffmpeg_kit.
iOS: ffmpeg via ffmpeg_kit, YouTube via API.
v1.0.7
v1.0.7 (30/11/2025)
Added
- RoundedWindowHelper class
- Semi theme and related styles to App.axaml for improved UI.
Improvements
- Updated MainWindow and various dialog views to support rounded corners.
- Refactored window initialization to use RoundedWindowHelper for consistent styling across platforms.
- Enhanced logging and error dialogs for better user experience.`
v1.0.6
v1.0.6 ( 09/08/2025)
Added
- Dedicated logging window for better visibility of process details.
- "Log" button on the main window for quick access to logs.
- Tooltips for buttons to provide clearer guidance.
Improvements
- Removed extra spacing around the progress bar for a more compact and streamlined GUI.
v1.0.5
v1.0.5 (07/08/2025)
First public release of FrameExtractor (Avalonia Edition)
Added
- Brand-new UI built with Avalonia UI for cross-platform support
- FFmpeg integration with automatic detection and fallback installation
- Frame extraction between Start Time and End Time (
HH:MM:SS) - FPS setting with custom frame rate (e.g. 5, 10, 24, 60)
- Support for PNG, JPG, and JPEG output formats
- Output directory and frame name prefix customization
- Real-time status feedback with progress indicator
- Works on Windows and Linux
- Publish-ready standalone builds via
.NET 8 - New fresh GUI
Release v1.0.4
v1.0.4
Features
- Input video and output directory fields are now side-by-side with "Browse" buttons.
- Automatically detects video duration and sets the "End Time" using
ffprobe. - Added a progress dialog while extracting frames to improve user feedback.
Fixes
- Time fields, directory fields, and settings are now horizontally aligned for better UX.
- FFmpeg error dialog no longer renders off-screen; now centered and resizable.
- FFmpeg invalid patterns
Enhancements
- Auto-installs FFmpeg if not found, with confirmation dialog.
- Overall UX improvements for smoother navigation and frame extraction process.
- FFmpeg error logs are shown in a scrollable, modal dialog for better debugging.
Release v1.0.3
Changelog for v1.0.3
- fix no GUI on windows
Release v1.0.2
Changelog for v1.0.2
- fix missing qt library