The readme sounds angry. When you run this without ffmpeg, it prints:
>python run.py
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
ffmpeg is not installed. Read the docs you idiot.
I found a use for face-swapping recently, when working with Stable Diffusion animations. The main challenge there is keeping the frames consistent between each other. Generating a face and then face-swapping it on the full animation helps with the consistency.
Such software attract all kind of people including the casuals who end up creating github issues for problems that can be solved with a single google search or reading the docs. I got tired of multiple issues regarding ffmpeg and ended up dropping this in there. Not very proud.
Honestly, I like the abrasiveness. It adds a certain charm to the program when it directly chastises you for not reading the provided documentation.
For such situations like this where they *should* be following the setup procedures, the errors should be explicit & straightforward: Follow the setup docs.