frame  by 66HEX

Fast, high-performance media conversion GUI

Created 2 months ago
705 stars

Top 48.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Frame is a high-performance media conversion utility offering a native GUI for FFmpeg operations. It targets users needing granular control over video, audio, and image conversions, providing a fast, concurrent processing backend and real-time monitoring for efficient media manipulation.

How It Works

The application employs a hybrid architecture: a Rust backend built with Tauri v2 handles concurrent FFmpeg process execution using tokio::mpsc and real-time stderr parsing for progress telemetry. A Svelte 5 frontend manages user configuration and state monitoring, offering a responsive interface. This design prioritizes performance and efficient resource utilization for batch and individual media tasks.

Quick Start & Requirements

  • Installation: Prebuilt binaries are available for macOS, Windows, and Linux (AppImage). Alternatively, use package managers: WinGet (winget install --id 66HEX.Frame -e) or Homebrew on macOS (brew tap 66HEX/frame && brew install --cask frame).
  • Prerequisites: Linux users require libwebkit2gtk-4.1-0, GStreamer plugins, xdg-desktop-portal, and zenity. Building from source necessitates Rust, Bun (or Node.js), and Tauri OS dependencies.
  • Setup: Fetch FFmpeg/FFprobe and Real-ESRGAN assets via bun run setup:ffmpeg and bun run setup:upscaler.
  • Links: GitHub Releases, WinGet, Homebrew Tap.

Highlighted Details

  • Broad Format Support: Handles Video (mp4, mkv, webm, mov, gif), Audio (mp3, m4a, wav, flac), and Image (png, jpg, webp, bmp, tiff) conversions.
  • Extensive Codecs & Acceleration: Features numerous encoders (H.264, H.265, VP9, AV1, ProRes, Opus, FLAC) and supports hardware acceleration on Apple Silicon and NVIDIA GPUs.
  • AI Upscaling: Integrates Real-ESRGAN for high-quality video and image upscaling (x2, x4).
  • Advanced Controls: Offers Constant Rate Factor (CRF) or Target Bitrate control, various scaling algorithms, and metadata extraction via ffprobe.
  • Concurrency Management: Rust backend limits concurrent FFmpeg processes (default: 2) for stable operation.

Maintenance & Community

The project seeks GitHub Sponsors to cover costs for code-signing certificates required for smoother OS integration. No other community channels or explicit contributor information is detailed in the README.

Licensing & Compatibility

  • License: GNU General Public License v3.0 (GPLv3).
  • Compatibility: As a GPLv3 licensed project, it imposes strong copyleft requirements. Derivative works must also be licensed under GPLv3, potentially restricting integration with proprietary or closed-source software.

Limitations & Caveats

  • Unsigned Application: Users must manually bypass OS security warnings (macOS quarantine attribute, Windows SmartScreen) due to the lack of code signing.
  • Linux Dependencies: Requires specific system libraries to be pre-installed for UI rendering and functionality.
  • GPLv3 Restrictions: The copyleft nature of the license may pose adoption challenges for commercial or closed-source use cases.
Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
4
Star History
54 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.