A lightweight GUI application for precise frame-by-frame video analysis and screenshot extraction, built with PySide/PyQt and OpenCV.
Project description
FramePerfect
A lightweight GUI application for precise frame-by-frame video analysis and screenshot extraction, built with PySide/PyQt and OpenCV.
Why This Tool?
- Perfect for: Video editors, forensic analysts, researchers, and anyone needing precise frame analysis
- Advantages over media players:
- Guaranteed frame accuracy (no skipped frames)
- Dedicated screenshot workflow
- Clean interface without unnecessary features
- Multi-file sequential processing: Provide multiple video files and automatically advance to the next when closing (New!)
Key Features
- Frame-accurate navigation: Move through videos one frame at a time with perfect precision
- Instant screenshot capture: Save any frame as PNG/JPEG with customizable paths
- Simple workflow: Open -> Navigate -> Capture -> Repeat
- Visual timeline: Quickly jump to any frame using the position slider
- Compatibility: Supports Python 2+ and PyQt4/PyQt5/PyQt6/PySide/PySide2/PySide6
Installation
pip install frameperfect
After installation, run it as frameperfect.
Usage
Option 1: Interactive Mode
frameperfect
- Click "Open Video" and select your video file
- Use navigation controls:
- Previous/Next Frame: Move precisely through frames
- Slider: Jump to any position
- Save Frame: Capture current frame
Option 2: Sequential Batch Mode (New!)
frameperfect video1.mp4 video2.mp4 video3.mp4
- Automatically opens
video1.mp4first - When window closes, immediately opens
video2.mp4 - Process repeats until all videos are processed
- Perfect for reviewing multiple clips in one session
Basic Workflow
- Click "Open Video" and select your video file
- Use these controls:
- Previous/Next Frame: Move precisely through frames
- Slider: Jump to any position in the video
- Save Frame: Capture the current frame to your Pictures folder
Troubleshooting
- If video doesn't open: Try converting to MP4 with H.264 codec
- For large videos: Consider splitting files for better performance
Contributing
Contributions are welcome! Please submit pull requests or open issues on GitHub.
License
AGPL-3.0 - See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frameperfect-0.1.0a3.tar.gz.
File metadata
- Download URL: frameperfect-0.1.0a3.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8393d2694cbe5e4d16a09eb2a3790a702b9d82adb08e14080243c06bacd79a65
|
|
| MD5 |
52e622c0ca07982bb6a36ba0969c0bdf
|
|
| BLAKE2b-256 |
5ca1a19f40886767e4e01fe28da0258a3b09ea5c8478c673b32bab9e0c58c371
|
File details
Details for the file frameperfect-0.1.0a3-py2.py3-none-any.whl.
File metadata
- Download URL: frameperfect-0.1.0a3-py2.py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71f54dcea80439a77c0e65e1e64342bb6b7082ae4a62bb7781fcd79047fe4a2d
|
|
| MD5 |
9a368aaba53cbaceece6937f0da88435
|
|
| BLAKE2b-256 |
ef0a2fde88b57598aec27ecc3d276ec24c338ab1913fa794e4acd86ccdeb7c01
|