An open API service indexing awesome lists of open source software.

https://github.com/orlfman/ffmpeg-converter-gtk

GTK4 + libadwaita frontend for FFmpeg
https://github.com/orlfman/ffmpeg-converter-gtk

ffmpeg frontend svt-av1 trim trimming x265

Last synced: 2 months ago
JSON representation

GTK4 + libadwaita frontend for FFmpeg

Awesome Lists containing this project

README

          

# FFmpeg Converter GTK

**Modern GTK4 + libadwaita frontend for FFmpeg**

My own pet project. FFmpeg-Converter-GTK a simple GTK / Libadwaita frontend for FFmpeg. Currently supports encoding with SVT-AV1, x265, x264, and VP9. Slowly but surely adding more supported codecs, features and refinement.

![Screenshot](Screenshots/Screenshot.png)

Screenshots



Main

SVT-AV1



x265

x264



VP9

Subtitles



Crop

Trim



Crop & Trim

Information



Console

Preferences



Color Correction

Smart Optimizer Preferences



Smart Optimizer

Smart Optimizer Invalid



Smart Optimizer Success

Smart Optimizer File Size Reduction



Smart Optimizer Crop & Trim Tab

Crop & Trim Chapter Exractation



Audio Tab


### Features

- Dedicated tabs for **SVT-AV1**, **x265**, **x264**, and **VP9** with deep encoder control
- Automatic, one-click crop detection for black bars, HDR to SDR tone mapping, scaling, rotation, speed control, and way more
- Watermarking — text watermarks with configurable font, size, color, opacity, and position, plus an image watermark mode for logo overlays. Works across normal conversions, subtitle burn-in, and Crop & Trim re-encode paths.
- Combine Videos — join multiple video files with copy mode (lossless, requires matching formats) or full re-encode mode with normalization. Supports crossfade transitions, chapter markers, drag-and-drop reordering, and metadata preservation.
- Audio codec support for AAC, FLAC, MP3, Opus, and Vorbis, with an option to keep all audio tracks or only the default track
- Live console output for debugging, and detailed information tab for video metadata
- Extensive color and light correction and alteration. Full RGB manipulation.
- Subtitles tab to reorder, remove, add, and extract subtitles.
- Crop & Trim tab that supports cutting, trimming, scrubbing, re-encoding, copy, creating individual and concatenate segments, and interactive cropping. Even cropping on a per segment basis + concatenate. The video player allows you to select regions within the video to select and crop. Also now has a Chapter Extraction mode to split chapters out of videos!
- By default the program uses the local systems FFmpeg but you can set custom path for FFmpeg if you wish to use a different version.
- Native Adwaita UI

## 🧠 Smart Optimizer

Tired of guessing your way to the perfect file size? Just press the **Smart Optimizer** button on the SVT-AV1, x265, x264 or VP9 tab, and the app handles everything else.

### How it actually works
It doesn’t rely on some magic lookup table. Instead, it runs **one to six (based off duration and content of the video) quick calibration encodes** on *your specific video* at different quality levels, then fits a real exponential curve to the results. It also figures out whether you’re dealing with live-action, anime, or a screencast, and picks the perfect preset + CRF or static bitrate combo to land right on your target size.

### What it actually looks at
- **Your real content** — Anime with its flat colors and razor-sharp lines compresses totally differently from live-action. The optimizer checks edge density, color saturation, and motion to classify it properly, then uses the right preset table. Anime gets the aggressive (slow) presets it loves; live-action doesn’t waste time on settings that barely help.
- **Your actual filters** — Scaling, cropping, denoise, framerate changes… all of it gets baked into the test encodes so the size prediction matches what you’ll really export.
- **Trimmed length** — If you set start/end points on the General tab, it only budgets for the clip you’re actually keeping.
- **Audio** — It subtracts the real audio bitrate from your target so the video gets an honest budget (no more “whoops, audio ate 30% of my file” surprises).

### What you actually get
- A **CRF or static bitrate + preset recommendation** (best quality for the size)
- A **two-pass bitrate version** as a guaranteed-size backup
- A **confidence score** so you know how much the prediction had to guess
- Full calibration numbers dumped to the Console tab

### When it can’t hit the target
It won’t just give up. It tells you exactly why and what to change: “trim to 42 seconds” or “scale down to "X."”

You can set your default target size in **Preferences - Smart Optimizer**.

Remember, its not perfect. Its not artificial intelligence scanning in real time. Its all math at work making the best estimate based off mathematical values and statistics. But its high quality estimations and very accurate for just being math + statistics. From my testing, a solid 70-80% accuracy level. Give it a try!

**No more encode, check size, re-encode, repeat.**
Just pick the mode and go.

---

### Dependency

```bash
meson, ninja, valac, pkg-config, GTK4, libadwaita, json-glib, FFmpeg, FFprobe, and GStreamer
```

### Install

Download the latest source release from [Releases](https://github.com/orlfman/FFmpeg-Converter-GTK/releases), extract it, then:

```bash
cd FFmpeg-Converter-GTK-
make
sudo make install
```

### Development Build & Install

```bash
git clone https://github.com/orlfman/FFmpeg-Converter-GTK.git
cd FFmpeg-Converter-GTK
make
sudo make install

or

cd FFmpeg-Converter-GTK/DevTools
./build.sh
```

### Uninstall

```bash
cd FFmpeg-Converter-GTK
make uninstall

or

cd FFmpeg-Converter-GTK/DevTools
./uninstall.sh
```

### Rebuild

```bash
cd FFmpeg-Converter-GTK
make rebuild

or

cd FFmpeg-Converter-GTK/DevTools
./build.sh
```

### Acknowledgments

This application is a frontend for [FFmpeg](https://ffmpeg.org) and does not bundle or distribute FFmpeg.
FFmpeg is a trademark of [Fabrice Bellard](http://bellard.org/).
Users are responsible for installing FFmpeg separately on their system.