Skip to content

Releases: nokarin-dev/FrameExtractor

Frame Extractor v1.1.2

26 Mar 08:12
1dcc84f

Choose a tag to compare

Changelog

Fixed

CI/CD

  • Fixed Linux AppImage launch error Is a directory - $EXE_NAME was set in CI shell but not expanded inside the AppRun heredoc (single-quoted heredoc prevents variable substitution). AppRun now detects the executable at runtime using find

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

Downloads

Windwos

Windows-Installer Windows-Portable

Linux

Linux-Debian Linux-AppImage Linux-Portable

Android

Android-ARM64 Android-ARM32 Android-X86_64

Frame Extractor v1.1.1

22 Mar 16:48
v1.1.1
f9d5900

Choose a tag to compare

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 permitted error 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 borderHi color
  • 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 EXTRACTING or DOWNLOADING depending on the current phase
  • Comment style in source code simplified (no decorative separator lines)

Downloads

Windwos

Windows-Installer Windows-Portable

Linux

Linux-Debian Linux-AppImage Linux-Portable

Android

Android-ARM64 Android-ARM32 Android-X86_64

Frame Extractor v1.1.0

22 Mar 14:48
v1.1.0
1c60294

Choose a tag to compare

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/
  • 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

30 Nov 08:58
v1.0.7
1daedc4

Choose a tag to compare

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

09 Aug 07:49
6cec112

Choose a tag to compare

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

07 Aug 13:49
a79ae85

Choose a tag to compare

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

13 Jul 09:32

Choose a tag to compare

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

10 Jul 05:52

Choose a tag to compare

Changelog for v1.0.3

  • fix no GUI on windows

Release v1.0.2

10 Jul 04:19

Choose a tag to compare

Changelog for v1.0.2

  • fix missing qt library

Release v1.0.1

08 Jul 09:06

Choose a tag to compare

Changelog for v1.0.1