Releases: fralapo/FrameShift
Release list
FrameShift v1.0.1 — Security fixes
Security-focused patch release. No API or CLI changes.
Security
- Model integrity verification (RCE hardening). Every YOLO
.ptis now verified against a pinned SHA-256 before it is loaded. A.ptis a pickle archive, so loading an unverified file is equivalent to arbitrary code execution. Verification covers both freshly downloaded files and ones already present inmodels/, closing the path where a poisonedmodels/yolo11n.ptdropped in the working directory would be loaded unchecked. A file that fails the check is deleted, not loaded (fail-closed). - Safe downloads. Models download to a temporary
.partfile, are verified, then atomically moved into place, with a 60s request timeout. A stalled or partial download can no longer hang a run or leave a trusted-but-corrupt file behind. - Dependency pinning.
requirements.txtnow uses version bounds, drops the unusedhuggingface_hubandtensorboard, and adds the previously implicitrequestsdependency.
Fixes
- Fixed the face-model download URL (dead tag
v0.0.0→1.0.0). The old URL always returned 404, silently leaving the app on the MediaPipe fallback instead of the YOLO face model.
Other
- Added
tests/test_model_verification.pycovering the integrity gate (heavy deps stubbed, runs without a full install). - README documents the integrity check.
Full changelog: v1.0.0...v1.0.1
FrameShift v1.0.0
First Public Release
I'm excited to announce the first public and stable release of FrameShift!
FrameShift is an open-source tool, inspired by Google AutoFlip, that automatically reframes videos to a new aspect ratio (e.g., from horizontal to vertical), ensuring that important faces and objects always remain visible in the frame.
This v1.0.0 release introduces a solid foundation of features, including a graphical user interface for easier use.
✨ What's New
-
Graphical User Interface (GUI): For those who prefer a visual experience, you can now launch FrameShift with a convenient GUI by running
python frameshift_gui.py. The interface allows you to access most of the features without using the command line. -
Intelligent Reframing: The system analyzes the video to identify scenes and, within each scene, detects faces and objects to determine the optimal framing.
-
Content Detection:
- Faces: Detection via a specialized YOLO model, with MediaPipe as a fallback.
- Objects: Detection of 80 classes of common objects (people, cars, animals, etc.) using the YOLO model, activated only when necessary to optimize performance.
-
Flexible Output Options:
- Pan & Scan (Default): The frame completely fills the new format by cropping the excess parts.
- Padding: Adds sidebars to show the entire optimal frame. The bars can be black, a custom color, or blurred.
-
Batch Processing: You can process an entire folder of videos with a single command.
-
Audio Handling: The audio from the original video is preserved in the output thanks to the integration with FFmpeg.