The only gripe that I have with HandbrakeCLI is that it cannot encode input piped into stdin. FFmpeg supports this and I was under the impression that handbrake uses FFmpeg under the hood.
Or some bash magic: `handbrake-cli -i <(cat video-file.mp4)`?
I never used handbrake-cli, only used the gui before, so I have no idea.
It's one of the very few transcoders that isn't just a wrapper of FFMPEG (which is both an advantage and a disadvantage).