Могу ли я запустить FFMPEG -F X11GRAB в течение определенного количества времени?

Я нашел этот пост, когда мне нужно было решение той же проблемы. Я думаю , что наткнулся на ответ случайно, прочитав это и попробовав что-то в "мертвом" окне экрана.

Ситуация: Я использую "set -o vi" в bash для своего редактора командной строки. Я использовал "ESC k" для прокрутки назад. Я хотел нажать CTRL-C, чтобы вернуться к пустой подсказке, но по ошибке нажал CTRL-D. Когда я это сделал, это окно на экране заблокировалось ... сам экран все еще был в порядке, и все другие окна экрана были в порядке.

Решение (?): Я обнаружил, что отправка XOFF (ctrl-s) с последующим XON (ctrl-q) "размораживает" окно. Отправка только XON - без предварительной отправки XOFF - не работает .

Однако мне совершенно не удалось воспроизвести блокировку CTRL-D. Я понятия не имею, какие условия существовали, чтобы вызвать это! Поскольку я не могу воспроизвести проблему, я не могу протестировать свое решение, поэтому я не знаю, действительно ли я нашел решение или оно просто «самоустранилось» через некоторое время. * пожимают плечами *

Если у кого-то будет возможность протестировать это, пожалуйста, ответьте! : o)

0
31.07.2018, 13:52
1 ответ

Я хотел бы предложить команду timeout. Я использую его с ffmpeg для записи живого HTTP-потока.

$ timeout --help
Usage: timeout [OPTION] DURATION COMMAND [ARG]...
Start COMMAND, and kill it if still running after DURATION.

DURATION is a floating point number with an optional suffix:
's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days.

Он должен быть предустановлен -в большинстве дистрибутивов Linux. В течение 10 секунд просто запустите:

$ timeout 10s ffmpeg -f x11grab  -y -r 60  -video_size 1920x1080 -i :0.0 -vf format=gray -pix_fmt yuv420p myfile

Пожалуйста, обратите внимание, что существует также другой тайм-аут , который также добавляет возможность ограничения по памяти и частоте процессора.


Что касается вашей проблемы с ffmpeg, то это изman ffmpeg:

SYNOPSIS
       ffmpeg [global_options] {[input_file_options] -i input_url}... {[output_file_options] output_url}...

Вам нужно переместить аргумент -tперед -i.

1
28.01.2020, 02:42

Теги

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