# Recoder **Recoder** is a GTK4-based GUI application for video transcoding. It provides a clean, modern interface using Libadwaita and integrates with `ffmpeg` to convert videos with ease. ![screenshot](resources/net.jeena.Recoder.png) --- ## โœจ Features - Simple and elegant GTK4 interface - Built with Libadwaita for a native GNOME look - Supports common video formats using `ffmpeg` - Lightweight and fast - System notifications on task completion --- ## ๐Ÿ›  Requirements - Python 3.10+ - GTK4 - Libadwaita - `ffmpeg` - Python bindings: - `python-gobject` --- ## ๐Ÿš€ Installation (Arch Linux) ```bash git clone https://github.com/jeena/recoder.git cd recoder makepkg -si ``` This will install Recoder system-wide using Pacman, so you can later remove it cleanly: ```bash sudo pacman -R recoder ``` --- ## ๐Ÿงช Development Setup If you're hacking on Recoder: ```bash git clone https://github.com/jeena/recoder.git cd recoder python -m venv .venv source .venv/bin/activate pip install -e . ``` Then run: ```bash recoder ``` --- ## ๐Ÿ“ Project Structure ``` src/ โ””โ”€โ”€ recoder/ โ”œโ”€โ”€ app.py โ”œโ”€โ”€ config.py โ”œโ”€โ”€ models.py โ”œโ”€โ”€ transcoder_worker.py โ””โ”€โ”€ ui.py resources/ โ”œโ”€โ”€ net.jeena.Recoder.desktop โ””โ”€โ”€ net.jeena.Recoder.png ``` --- ## ๐Ÿ“ฆ Packaging Recoder follows modern Python packaging using `pyproject.toml` and `setuptools`. The Arch package installs Python modules to `site-packages` and the desktop file + icon in appropriate locations. --- ## ๐Ÿ“„ License Licensed under the GPLv3. See `LICENSE` for details. --- ## ๐Ÿ‘ค Author Made by Jeena ยท [github.com/jeena](https://github.com/jeena)