Как вывести в терминал состояние кодирования ffmpeg если процесс запущен в фоне?

Как в Ubuntu посмотреть состояние кодирования потока ffmpeg если сам процесс был запущен в фоновом режиме?
Нужно вывести примерно такую строку:
frame= 4870 fps= 26 q=31.0 q=36.0 size=    6111kB time=00:03:15.16 bitrate= 256.5kbits/s speed=1.05x

P.S. использовать screen не вариант.
Спасибо!
  • Вопрос задан
  • 437 просмотров
Решения вопроса 1
@Sh0ttky
Когда программа "выводит что-то в терминал", технически это означает, что она пишет в соответствующие файлы tty. FFmpeg выводит своё состояние в stderr. Номера дескрипторов stdout и stderr - 1 и 2 соответственно.
Можно перенаправить его вывод stderr в файл:
ffmpeg -i myfile.avi result.avi 2>/tmp/ffmpeg-log.log

в приведённом примере файл будет перезаписываться при каждом новом вызове.

Вывести в текущий терминал состояние = прочитать последнюю строку лога
cat /tmp/ffmpeg-log.log | tail -n 1

Если беспокоит нагрузка на жёсткий диск: /tmp обычно монтируется в оперативной памяти.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы