Ffmpeg

我可以在指定的時間內執行 ffmpeg -f x11grab 嗎?

  • July 31, 2018

我想執行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 秒後停止。有沒有辦法做到這一點?

謝謝!

我想建議這個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

請注意,還有另一個 timeout,它也增加了限制記憶體和 CPU 頻率的能力。


至於您對 ffmpeg 的問題,這是來自man ffmpeg

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

你需要先移動-t參數-i

引用自:https://unix.stackexchange.com/questions/459496