Skip to content

nokarin-dev/FrameExtractor

Repository files navigation

FrameExtractor Banner

A modern, cross-platform video frame extractor with a clean UI - powered by ffmpeg & yt-dlp.

Release License: GPL v3 Flutter Platform Total Downloads Latest Downloads Test Status Release Status


Features

  • 🎬 Extract frames from any local video file with precise start/end timestamps
  • 📺 YouTube support - paste a URL, pick quality, extract directly (yt-dlp powered)
  • Adjustable FPS - from 1 to 60 frames per second
  • 🖼️ Multiple formats - PNG, JPG, WebP, BMP
  • 🎚️ Quality & scale control - fine-tune output image quality and resolution
  • 📁 Custom filename prefix - name your frames however you like
  • 🗂️ Auto open folder when extraction completes
  • 📋 Live process log - view ffmpeg/yt-dlp output in real time, copy to clipboard
  • 🔋 Batteries included - ffmpeg & yt-dlp bundled, no manual installation needed
  • 🖥️ Cross-platform - Windows, Linux, macOS, Android, iOS

Download

Head to the Releases page and grab the build for your platform.

Platform File Notes
🪟 Windows FrameExtractor-windows-installer.zip Extract & run .exe
🪟 Windows Portable FrameExtractor-windows-portable.zip No installation needed
🐧 Linux FrameExtractor-linux-installer.tar.gz Extract & run
🐧 Linux Portable FrameExtractor-linux-portable.tar.gz Self-contained folder
🍎 macOS FrameExtractor-macos-installer.dmg Open & drag to Applications
🍎 macOS Portable FrameExtractor-macos-portable.zip Extract & run anywhere
🤖 Android FrameExtractor-android.apk Enable "Install unknown apps" in settings
📱 iOS FrameExtractor-ios-unsigned.ipa Sideload via AltStore or TrollStore

Note (iOS): Due to Apple sandbox restrictions, yt-dlp cannot run as a binary on iOS. The YouTube feature uses an API fallback instead.


Building from source

Prerequisites

1. Clone & install dependencies

git clone https://github.com/nokarin-dev/frameextractor.git
cd frameextractor
flutter pub get

2. Download bundled binaries

The app bundles ffmpeg and yt-dlp. Run the script to download them for your target platform:

# Windows + Linux
python3 scripts/prepare_binaries.py --platform windows linux

# All platforms
python3 scripts/prepare_binaries.py --all

Sources: ffmpeg (BtbN builds) · yt-dlp

3. Run / Build

# Debug run
flutter run -d linux # or windows / macos / android / ios

# Release builds
flutter build linux --release --dart-define=PORTABLE=false # installer
flutter build linux --release --dart-define=PORTABLE=true # portable
flutter build windows --release --dart-define=PORTABLE=false
flutter build windows --release --dart-define=PORTABLE=true
flutter build macos --release
flutter build apk --release # Android
flutter build ipa --release # iOS (requires Apple signing)

Installer vs Portable (Windows & Linux)

Installer Portable
Binary location AppData/Local/FrameExtractor/bin/ (Win) or ~/.local/share/ (Linux) Same folder as executable
Pass --dart-define PORTABLE=false PORTABLE=true

Platform status

Platform Tested
Windows
Linux
Android
iOS
macOS

License

FrameExtractor
Copyright © 2025-2026 nokarin-dev

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

About

FrameExtractor is a modern, cross-platform video frame extractor with a clean UI powered by ffmpeg & yt-dlp.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors