3FUI (FFmpegFreeUI) is a Windows GUI shell for FFmpeg that turns encoding flags into adjustable panels and generates the final command, lowering the barrier of command-line video encoding.
- 6.5.0
- Published at
- 1d ago
- 8,514
- Stars
- 5,480
- Download
- Synced at
- 23h ago
Latest release
6.5.0Nov 12, 2026, 03:22 AMREADME
Project Overview
Building a working FFmpeg command usually means paging through documentation, so 3FUI arranges the parameters into readable panels and assembles them into the exact command line it runs. It ships no codecs of its own: you provide ffmpeg or add it to PATH, which means a newer ffmpeg can be dropped in at any time.
The program is written in VB.NET on WinForms, the interface is rendered by the in-house LakeUI engine over DirectX, and all data lives in a single file next to the executable.
| Item | Value |
|---|---|
| Current version | 6.3.0 |
| Platform | Windows 10 1609 or later, x64 / arm64 |
| Runtime | .NET 10 desktop runtime, installed separately |
| UI stack | WinForms + WPF + LakeUI over DirectX |
| License | MIT, with LakeUI under GPL-3.0-only |
The parameter panels are only a shell; all encoding is done by the ffmpeg you provide.
Key Features
- Free parameter mixing: video, audio, subtitle and container pages can be combined freely, with raw arguments allowed anywhere
- Presets: save a parameter set to a preset file and share it through the
Presetfolder - Batch queue: unlimited tasks with pause, resume and stop, plus live remaining time and size estimates
- Color management: color space, bit depth, chroma sampling and HDR options
- Subtitle burn-in: font, position, outline and shadow options for burned subtitles
- Frame server hooks: convenience entries for AviSynth and VapourSynth
- Muxing and merging: simple remuxing and multi-file merging
- Performance monitor: CPU, memory and GPU load read through LibreHardwareMonitorLib
- Quality metrics: built-in objective checks such as VMAF
- Agent assistant: connects to any OpenAI SDK compatible endpoint to read the parameter panels, manage tasks, access files and run PowerShell
Interface and Controls
The left side holds feature tabs, the middle holds parameter panels, and the bottom holds the task queue and log. Most controls name the FFmpeg parameter they map to, and the command preview refreshes as you tick options.
| Area | Purpose |
|---|---|
| Parameter panels | Choose encoder, bitrate, resolution, filters and more |
| Command preview | Show the final ffmpeg command line |
| Task queue | Watch progress, pause, stop and reorder tasks |
| Log and monitor | Stream ffmpeg output and hardware load |
The interface supports high DPI scaling with manual calibration, so monitors at different scale factors still line up.
Target Audience
- Fansub groups encoding anime in batches
- Advanced users fluent in FFmpeg flags
- People who save and reuse encoding recipes
- AviSynth veterans with preprocessing chains
- Teams encoding across a LAN
Quick Start
- Install the .NET 10 desktop runtime, then place
FFmpegFreeUI.x64.exeorFFmpegFreeUI.arm64.exein one folder - Put the ffmpeg executable in that folder, or add its folder to the system
PATH - Start the program and drop in a video, or pass a path with the
-ilaunch argument - Choose encoder and quality settings on the video, audio and subtitle tabs; the command preview updates as you go
- Click Add to queue to start the task, watch remaining time and size estimates, and pause when needed
- Save the current settings as a preset for reuse, then call it from the
Presetfolder
Launch Arguments and Remote Calls
3FUI accepts ffmpeg-like launch arguments from a terminal or another program; enabling remote calls makes it listen on a UDP port for messages in the same format.
| Argument | Purpose |
|---|---|
-i |
Set the input media file |
-3fui_file |
Set the preset file, used together with -i |
-ffmpeg |
Pass every following argument straight to ffmpeg |
fullscreen |
Start in fullscreen borderless mode |
-3fuiVideoHelperInPointTime |
Pass a clip in-point time |
Remote calls listen on UDP port 10591 by default with the same payload as the launch arguments, so another machine on the LAN can feed tasks to the encoding box.
System Requirements
| Item | Requirement |
|---|---|
| OS | Windows 10 1609 or later, x64 / arm64 only |
| Runtime | .NET 10 desktop runtime, not bundled |
| GPU | D3D11 support for LakeUI rendering |
| FFmpeg | Provided by you; no codecs are bundled |
| Package | About 11.2 MB for the x64 single file, plus an Updater |
Notes
- Simplified Chinese only: there is no language switch, and other languages require maintaining the strings yourself
- Parameters are not validated for you: the panel does not judge whether a combination makes sense, and bad options show up directly in the ffmpeg log
- Plugins need a rename: change the built
.dllto.3fui.dll, drop it into thePluginfolder and keep dependent assemblies at their original names - Data lives beside the program: presets, agent sessions and settings are written next to the executable, so a read-only folder breaks saving
- Free versus paid: production features are free, while personalization such as glass backgrounds requires the SP tier