Если аргументы ffmpeg в обоих случаях идентичны, то проблема к ffmpeg как таковому не относится. Но можно попробовать исключить пару очевидностей:
- Очевидность № раз, это то, что ffmpeg пишет в stdout текущий FPS, а nginx не факт что читает его оптимальным образом. Стоит проставить запрет показа прогресса, правда надо искать точный флаг
- Возможно, вместо решения проблем с nginx, стоит использовать возможности процессора: Intel со встроенной видеокартой, например, отлично ускоряется через VAAPI.
- Самая тупая история, которая может быть, это то, что nginx запускает несколько процессов ffmpeg. Ну тут уж вам разбираться.
Кстати, а с помощью чего nginx запускает ffmpeg?