Skip to content

yugaaank/ffflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ffflow

A CLI and TUI for ffmpeg workflows. Define your encodes once in a .flw file, run them, and watch everything progress in real time.

No more retyping long ffmpeg commands or maintaining shell scripts for batch jobs. ffflow wraps the ffmpeg binary on your PATH -- it doesn't reimplement any encoders.

Install

cargo install --git https://github.com/yugaaank/ffflow

Or build from source:

git clone https://github.com/yugaaank/ffflow
cd ffflow
cargo build --release

You need a Rust toolchain and ffmpeg on your PATH.

Usage

Single encode

ffflow encode -i input.mov -o out.mp4 --vcodec libx264 --preset veryfast

Multiple inputs

ffflow encode -i a.mov -i b.mov -o merged.mp4 --extra-args "-filter_complex concat"

Probe a file

ffflow probe -i input.mov

Batch mode

Write a .flw file where each line is an ffflow encode command:

encode -i clip1.mov -o clip1.mp4 --preset fast
encode -i clip2.mov -o clip2.mp4 --preset fast
encode -i clip1.mp4 -i clip2.mp4 -o final.mp4 --extra-args "-c copy"

Then run it:

ffflow pipeline.flw

This opens the TUI with a live progress track per job. A summary shows when all jobs finish.

Presets

Built-in x264 presets: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo.

ffflow presets

License

MIT

About

Ffflow is a lightweight CLI tool for building structured, repeatable ffmpeg workflows. It helps organize complex media commands into clean, modular pipelines. Designed for power users who want clarity over command-line chaos. Simple structure, powerful media processing.

Topics

Resources

Stars

24 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages