A powerful and intuitive command-line multimedia editor suite for video, audio, and image processing, built on FFmpeg.
Project description
FFmPEG-this
FFmpeg, but you'll actually use it.
Professional video editing, AI tools, and downloads — all in an interactive CLI menu. No commands to memorize.
Why This Exists
FFmpeg is powerful. FFmpeg is also this:
# Crop to 9:16 portrait
ffmpeg -i input.mp4 -vf "crop=iw*9/16:ih:(iw-iw*9/16)/2:0" -c:v libx264 -crf 23 -preset medium -c:a aac output.mp4
# Extract audio as MP3
ffmpeg -i input.mp4 -vn -acodec libmp3lame -ab 320k output.mp3
# Compress to 25MB for Discord
ffmpeg -i input.mp4 -c:v libx264 -b:v $(( 25*8192/$(ffprobe -v error -show_entries format=duration \
-of csv=p=0 input.mp4 | cut -d. -f1) ))k -pass 1 -f null /dev/null && ffmpeg -i input.mp4 -c:v \
libx264 -b:v ... -pass 2 output.mp4
# Add subtitles... good luck
peg_this replaces all of that:
peg_this
Pick from a menu. Follow the prompts. No flags, no syntax, no StackOverflow.
Get Started in 10 Seconds
pip install peg_this
Prerequisite: FFmpeg must be installed.
brew install ffmpeg(macOS) ·choco install ffmpeg(Windows) ·sudo apt install ffmpeg(Linux)
More install options
Optional extras:
pip install peg_this[download] # yt-dlp download engine
pip install peg_this[demucs] # AI music stem separation (~1.5GB)
pip install peg_this[upscale] # AI video upscaling (~1.5GB)
pip install peg_this[all-ai,download] # Everything
From source:
git clone https://github.com/hariharen9/ffmpeg-this.git && cd ffmpeg-this
pip install -r requirements.txt
python -m src.peg_this.peg_this
Pre-built binaries: Download for Windows / macOS / Linux →
What Can It Do?
🎬 VideoConvert · Compress · Trim · Crop · Split · Join · Rotate · Flip · Speed · Reverse · Stabilize · Color Grade · Denoise · Watermark · PiP · Loop · Fade · GIF · Change FPS · Change Resolution |
🤖 AIAuto Subtitles (99 languages) · Brainrot Captions · Smart Reframe · Face Blur · Background Removal · Video Upscaling (Real-ESRGAN) · Music Stem Separation · Auto-Dubbing (24 languages) |
📥 DownloadYouTube · TikTok · Twitter · 1000+ sites · Playlists · Audio extraction · Subtitle download · Quality picker · SponsorBlock · Progress bar · Post-download processing |
🎵 AudioExtract · Remove · Merge · Volume · Fade · Normalize · Visualizer · Convert · Stem Separation |
🖼️ ImageResize · Rotate · Flip · Crop · Colors · Blur · Sharpen · Effects · Border · Text · Compress · Convert · Background Removal |
📦 OtherBatch Convert · Slideshow Creator · Metadata Editor · File Inspector · GUI Mode · Configurable Encoding · Hardware Acceleration |
CLI Quick Commands
peg_this # Interactive menu
peg_this --gui # Launch graphical interface (Experimental, beta)
peg_this -d "https://youtu.be/..." # Download video (pick quality)
peg_this -dy "https://youtu.be/..." # Download instantly (best MP4, no prompts)
# more to come... This tool is in active development
Spotlight Features
📥 Download Engine
Download from YouTube, TikTok, Twitter, and 1000+ sites — powered by yt-dlp.
| Modes | Single video · Audio only · Playlist · Subtitles · Thumbnail |
| Quality | Up to 4K · MP4/MKV/WebM container picker |
| Info Panel | Title, channel ✓, views, likes, duration, codecs, file size — before you download |
| Audio | MP3 · FLAC · WAV · AAC · Opus · M4A (128k–320k) |
| Playlist | All · First N · Range · Specific items · Auto-numbering |
| Advanced | SponsorBlock · Speed limit · Time range · Cookies · Proxy · Embed metadata |
| After Download | Trim → Compress → Convert → Subtitles — without leaving peg_this |
One-liner download:
peg_this -dy "https://youtube.com/watch?v=dQw4w9WgXcQ"
📐 AI Smart Reframe
Auto-crop 16:9 → 9:16 keeping the subject in frame. Face tracking with smooth cinematic panning.
| Target | Use Case |
|---|---|
| 9:16 | TikTok · Reels · YouTube Shorts |
| 1:1 | Instagram Feed · Twitter/X |
| 4:5 | Instagram Portrait |
How: Samples frames → Haar cascade face detection → Temporal smoothing (EMA) → Per-frame crop → Audio merge. No GPU required.
💬 AI Subtitles & Captions
Generate subtitles using Faster-Whisper with 7 model sizes (tiny → large-v3) in 99+ languages.
| Output | Description |
|---|---|
.srt / .vtt / .txt / .lrc |
Sidecar files |
| Soft subs | Embedded, toggleable in players |
| Hard subs | Burned permanently into video |
| Brainrot | TikTok-style word-by-word animated captions |
🎙️ AI Auto-Dubbing
Translate and re-voice videos into 24+ languages — transcription, translation, and voice synthesis all run locally.
Spanish · French · German · Italian · Portuguese · Japanese · Chinese · Korean · Russian · Arabic · Hindi · and more
🚀 AI Video Upscaling
| Mode | Speed | Best For |
|---|---|---|
| Quick (FFmpeg) | ⚡ Instant | Basic upscaling |
| Fast AI | 🚀 Fast | General content |
| Quality AI | 🐢 Slow | Final renders |
| Anime AI | 🚀 Fast | Animation |
Supports NVIDIA CUDA, Apple Silicon (MPS), and CPU.
🖥️ Graphical Interface
peg_this --gui
The full feature set in a hardware-accelerated desktop GUI. Same engine, visual workflow.
Beta — requires
dearpygui(installed automatically).
📋 Full Feature Reference (100+ operations)
Video Operations
| Operation | Method | Re-encode? |
|---|---|---|
| Convert (MP4, MKV, MOV, AVI, WebM) | FFmpeg transcode | Yes |
| Compress (target size or CRF) | 2-pass encoding | Yes |
| Change Resolution (4K/1080p/720p/480p/custom) | Scale filter | Yes |
| Change FPS (24/30/60/120) | fps / minterpolate | Yes |
| Trim | Stream copy | No (lossless) |
| Crop (visual selection) | crop filter | Yes |
| Split (equal parts or by duration) | Stream copy or re-encode | Configurable |
| Join / Concatenate | Concat filter | Yes |
| Speed (0.25x – 4x) | setpts + atempo | Yes |
| Reverse | Reverse filter | Yes |
| Rotate (90°/180°) / Flip | transpose / hflip/vflip | Yes |
| Fade In/Out (black or white) | fade filter | Yes |
| Loop (N times or target duration) | stream_loop | No |
| Color Correction | eq filter | Yes |
| Denoise (fast / quality) | hqdn3d / nlmeans | Yes |
| Blur/Pixelate Region (visual) | boxblur / scale | Yes |
| Picture-in-Picture | overlay filter | Yes |
| Stabilize | vidstab (two-pass) | Yes |
| Add Watermark (image or text) | overlay filter | Yes |
| Extract Frames | Frame extraction | N/A |
| Create GIF | 2-pass palette | Yes |
| Smart Reframe (AI) | Haar face tracking + crop | Yes |
| Background Removal (AI) | rembg (U2-Net) | Yes |
| Brainrot Captions (AI) | Whisper + ASS | Yes |
| Auto-Dubbing (AI) | Whisper + Piper TTS | Yes |
| Video Upscaling (AI) | Real-ESRGAN | Yes |
Audio Operations
| Operation | Notes |
|---|---|
| Extract from video | MP3, FLAC, WAV |
| Remove from video | Stream copy (fast) |
| Merge with video | Replace or mix |
| Adjust Volume | Presets, dB, multiplier |
| Fade In/Out | 6 curve types |
| Normalize | EBU R128, Peak, RMS, Dynamic |
| Visualizer | Spectrum, Waveform, CQT |
| Convert format | MP3, FLAC, WAV |
| Stem Separation (AI) | Vocals, drums, bass, other (Demucs) |
Image Operations
| Operation | Options |
|---|---|
| Convert | JPG, PNG, WebP, BMP, TIFF |
| Resize | Custom dimensions, preserve aspect ratio |
| Rotate / Flip | 90° CW/CCW, 180°, horizontal, vertical |
| Crop | Visual interactive selection |
| Adjust Colors | Brightness, contrast, saturation, gamma (8 presets) |
| Blur / Sharpen | 4 blur levels, 3 sharpen levels |
| Effects | Grayscale, sepia, invert |
| Add Border | Custom size, 7 colors + hex |
| Add Text | 7 positions, font, color, shadow/outline |
| Compress | Quality 40-90%, auto format conversion |
Subtitle Models
| Model | Size | Speed | Languages |
|---|---|---|---|
tiny.en |
~75 MB | Fastest | English |
base.en |
~150 MB | Fast | English |
small.en |
~500 MB | Balanced | English |
medium.en |
~1.5 GB | Slower | English |
small |
~500 MB | Balanced | 99+ |
medium |
~1.5 GB | Slower | 99+ |
large-v3 |
~3 GB | Slowest | 99+ |
Supported Formats
| Type | Formats |
|---|---|
| Video In | .mp4 .mkv .avi .mov .webm .flv .wmv .gif |
| Video Out | .mp4 .mkv .mov .avi .webm .gif |
| Audio In | .mp3 .flac .wav .ogg .aac .m4a |
| Audio Out | .mp3 .flac .wav |
| Image | .jpg .png .webp .bmp .tiff |
| Subtitle | .srt .vtt .txt .lrc |
Star History
Sponsor
Contributors
Contributing
Contributions are welcome! Please see the Contributing Guidelines for more information.
License
MIT License. See LICENSE for details.
Made with ❤️ by Hariharen
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file peg_this-5.2.1.tar.gz.
File metadata
- Download URL: peg_this-5.2.1.tar.gz
- Upload date:
- Size: 127.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62b1a1aae71fa6ffe77a75cda9e444b5a585a52af9e42e3c2a8d2f69acb64f79
|
|
| MD5 |
cabf01b7d35a7492b02c3bf7cb709408
|
|
| BLAKE2b-256 |
c28577953c9766d576dee9ef2729ae07a7bceb39f11f0b0358a142d424f79272
|
File details
Details for the file peg_this-5.2.1-py3-none-any.whl.
File metadata
- Download URL: peg_this-5.2.1-py3-none-any.whl
- Upload date:
- Size: 140.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc2240a34f7d10d7b330c3664643d34e6fcc5250f5d90b097cf4e687e248fe62
|
|
| MD5 |
20c2b143916ab744eeb81e61ca73ae8c
|
|
| BLAKE2b-256 |
3b628800914a576162035c89b7956cbf880986e7a6698b04871c7f07bd7a15a9
|