Frame is a native media conversion utility built in Rust. It provides a desktop interface for FFmpeg operations, with granular control over video, audio, image, subtitle, and metadata settings. The application uses a GPUI-CE front end and a reusable Rust conversion core for FFmpeg argument generation, source probing, compatibility validation, task control, and progress parsing.
[!WARNING] Unsigned Application Notice Since the application is currently not Developer ID or certificate signed, your operating system may flag it:
- macOS: Release artifacts are ad-hoc signed but not notarized. The system can flag the app and bundled binaries with a quarantine attribute. To run the app, remove the attribute manually after installing it:
xattr -dr com.apple.quarantine /Applications/Frame.app- Windows: Windows SmartScreen may prevent the application from starting. Click "More info" and then "Run anyway" to proceed.
If Frame helps you, consider supporting the project on GitHub Sponsors:
Current funding goals:
$99/year to sign and notarize macOS builds.$300-$700/year to sign
Windows builds and reduce SmartScreen friction.Sponsor contributions are used first for these release-signing costs.
See GitHub Sponsors for full sponsorship details, tier suggestions, and a launch checklist.
mp4, mov, mkv, avi, webm, mts, m2t, m2ts, gifmp3, m4a, wav, flacpng, jpg, jpeg, webp, bmp, tif, tiff, avif,
heic, heifmp4, mkv, webm, mov, m2t (188-byte MPEG-TS), mts
and m2ts (192-byte M2TS), gifmp3, m4a, wav, flacpng, jpg, webp, bmp, tifflibx264 (H.264 / AVC)libx265 (H.265 / HEVC)vp9 (Google VP9)prores (Apple ProRes)libsvtav1 (SVT-AV1)mpeg2video (MPEG-2 Video for transport streams)gif palette outputh264_videotoolbox, hevc_videotoolbox); Windows bundles include NVIDIA
NVENC encoders (h264_nvenc, hevc_nvenc, av1_nvenc). Linux bundles use
software encoders.png, mjpeg (JPEG), libwebp (WebP), bmp, tiff.aac, ac3, libopus, mp3, mp2, alac, flac,
pcm_s16le, Blu-ray pcm_bluray, plus optional libfdk_aac when available..srt / .ass / .vtt burn-in with font,
size, color, outline, and position controls; selectable text sidecars for
MP4/MOV/MKV/WebM; and .sup/PGS, DVB subtitle, DVB teletext, ARIB caption,
and HDMV subtitle workflows for M2T/MTS/M2TS. M2T converts bitmap PGS/DVDSub
to standard DVB subtitles instead of private data.ffprobe -show_programs.ffprobe.frame-core owns FFmpeg arguments, media rules,
probing types, filter construction, and validation logic.frame-app/resources/binaries/. Native bundles include
those tools and detect encoder capabilities from the bundled FFmpeg at startup.rfd, with extension filtering for supported media and
subtitle files.serde, serde_json.thiserror.The easiest way to get started is to download the latest release for your platform directly from GitHub.
Note: Since the application is not yet code-signed, you may need to manually approve it in your system settings.
Native release builds include a signed-manifest updater. Frame checks the latest GitHub Release manifest, verifies its Ed25519 signature and the SHA-256 hash of the selected platform asset, then installs through a small bundled helper.
Frame is available in the official WinGet repository under the 66HEX.Frame
identifier.
winget install --id 66HEX.Frame -e
To update:
winget upgrade --id 66HEX.Frame -e
For macOS users, Frame is available through the custom Homebrew tap:
brew tap 66HEX/frame
brew install --cask frame
The production Flatpak is distributed through Flathub under
io.github._66HEX.Frame. The Flathub build uses FFmpeg, FFprobe, codecs, and
media libraries from the Freedesktop runtime instead of bundled sidecar media
tools.
flatpak install flathub io.github._66HEX.Frame
To update:
flatpak update io.github._66HEX.Frame
If you prefer to build the application yourself or want to contribute, follow these steps.
1. Prerequisites
2. Clone the Repository
git clone https://github.com/66HEX/frame.git
cd frame
3. Setup Runtime Binaries
Frame requires FFmpeg and FFprobe runtime binaries. Release and development tasks download the platform-specific tools into ignored local runtime paths. To prepare them manually:
cargo xtask setup-ffmpeg
4. Run or Build
Development:
cargo xtask run
Production Build:
cargo xtask build --release
Regenerate release workflows:
cargo xtask workflows
macOS DMG:
cargo install cargo-bundle
cargo xtask bundle macos
Linux tarball with .desktop metadata and hicolor icons:
cargo xtask bundle linux
Windows installer:
cargo xtask bundle windows
The release binary embeds the Frame .ico resource during the normal Cargo
build so Explorer and the taskbar can resolve the application icon.
Run the main checks before submitting changes:
cargo xtask ci
GPLv3 License. See LICENSE for details.
(top 24 of 34)
1,062 followers · starred Jul 2026
3,594 followers · starred Jul 2026
496 followers · starred Jun 2026
119 followers · starred Sep 2026
Frame is a native media conversion utility built in Rust. It provides a desktop interface for FFmpeg operations, with granular control over video, audio, image, subtitle, and metadata settings. The application uses a GPUI-CE front end and a reusable Rust conversion core for FFmpeg argument generation, source probing, compatibility validation, task control, and progress parsing.
[!WARNING] Unsigned Application Notice Since the application is currently not Developer ID or certificate signed, your operating system may flag it:
- macOS: Release artifacts are ad-hoc signed but not notarized. The system can flag the app and bundled binaries with a quarantine attribute. To run the app, remove the attribute manually after installing it:
xattr -dr com.apple.quarantine /Applications/Frame.app- Windows: Windows SmartScreen may prevent the application from starting. Click "More info" and then "Run anyway" to proceed.
If Frame helps you, consider supporting the project on GitHub Sponsors:
Current funding goals:
$99/year to sign and notarize macOS builds.$300-$700/year to sign
Windows builds and reduce SmartScreen friction.Sponsor contributions are used first for these release-signing costs.
See GitHub Sponsors for full sponsorship details, tier suggestions, and a launch checklist.
mp4, mov, mkv, avi, webm, mts, m2t, m2ts, gifmp3, m4a, wav, flacpng, jpg, jpeg, webp, bmp, tif, tiff, avif,
heic, heifmp4, mkv, webm, mov, m2t (188-byte MPEG-TS), mts
and m2ts (192-byte M2TS), gifmp3, m4a, wav, flacpng, jpg, webp, bmp, tifflibx264 (H.264 / AVC)libx265 (H.265 / HEVC)vp9 (Google VP9)prores (Apple ProRes)libsvtav1 (SVT-AV1)mpeg2video (MPEG-2 Video for transport streams)gif palette outputh264_videotoolbox, hevc_videotoolbox); Windows bundles include NVIDIA
NVENC encoders (h264_nvenc, hevc_nvenc, av1_nvenc). Linux bundles use
software encoders.png, mjpeg (JPEG), libwebp (WebP), bmp, tiff.aac, ac3, libopus, mp3, mp2, alac, flac,
pcm_s16le, Blu-ray pcm_bluray, plus optional libfdk_aac when available..srt / .ass / .vtt burn-in with font,
size, color, outline, and position controls; selectable text sidecars for
MP4/MOV/MKV/WebM; and .sup/PGS, DVB subtitle, DVB teletext, ARIB caption,
and HDMV subtitle workflows for M2T/MTS/M2TS. M2T converts bitmap PGS/DVDSub
to standard DVB subtitles instead of private data.ffprobe -show_programs.ffprobe.frame-core owns FFmpeg arguments, media rules,
probing types, filter construction, and validation logic.frame-app/resources/binaries/. Native bundles include
those tools and detect encoder capabilities from the bundled FFmpeg at startup.rfd, with extension filtering for supported media and
subtitle files.serde, serde_json.thiserror.The easiest way to get started is to download the latest release for your platform directly from GitHub.
Note: Since the application is not yet code-signed, you may need to manually approve it in your system settings.
Native release builds include a signed-manifest updater. Frame checks the latest GitHub Release manifest, verifies its Ed25519 signature and the SHA-256 hash of the selected platform asset, then installs through a small bundled helper.
Frame is available in the official WinGet repository under the 66HEX.Frame
identifier.
winget install --id 66HEX.Frame -e
To update:
winget upgrade --id 66HEX.Frame -e
For macOS users, Frame is available through the custom Homebrew tap:
brew tap 66HEX/frame
brew install --cask frame
The production Flatpak is distributed through Flathub under
io.github._66HEX.Frame. The Flathub build uses FFmpeg, FFprobe, codecs, and
media libraries from the Freedesktop runtime instead of bundled sidecar media
tools.
flatpak install flathub io.github._66HEX.Frame
To update:
flatpak update io.github._66HEX.Frame
If you prefer to build the application yourself or want to contribute, follow these steps.
1. Prerequisites
2. Clone the Repository
git clone https://github.com/66HEX/frame.git
cd frame
3. Setup Runtime Binaries
Frame requires FFmpeg and FFprobe runtime binaries. Release and development tasks download the platform-specific tools into ignored local runtime paths. To prepare them manually:
cargo xtask setup-ffmpeg
4. Run or Build
Development:
cargo xtask run
Production Build:
cargo xtask build --release
Regenerate release workflows:
cargo xtask workflows
macOS DMG:
cargo install cargo-bundle
cargo xtask bundle macos
Linux tarball with .desktop metadata and hicolor icons:
cargo xtask bundle linux
Windows installer:
cargo xtask bundle windows
The release binary embeds the Frame .ico resource during the normal Cargo
build so Explorer and the taskbar can resolve the application icon.
Run the main checks before submitting changes:
cargo xtask ci
GPLv3 License. See LICENSE for details.
(top 24 of 34)
1,062 followers · starred Jul 2026
3,594 followers · starred Jul 2026
496 followers · starred Jun 2026
119 followers · starred Sep 2026