指定された時間にffmpeg -f x11grabを実行できますか?

指定された時間にffmpeg -f x11grabを実行できますか?

ffmpeg -x11grab指定した時間実行して出力をファイルに保存したいと思います。 (Debianシステムではffmpeg7:4.0.2-1です。)

-t次のように切り替えようとしました。

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

しかし、10秒経っても止まりません。これを行う方法はありますか?

ありがとうございます!

答え1

私はこの順序を提供したいと思いますtimeout。私はライブHTTPストリームを記録するためにffmpegで使用しています。

$ 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

ありますので参考にしてください別のタイムアウトまた、メモリとCPU周波数を制限する機能も追加されます。


ffmpeg質問のソースは次のとおりですman ffmpeg

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

-tまず、パラメータを移動する必要があります-i

関連情報