Ffmpeg
我可以在指定的時間內執行 ffmpeg -f x11grab 嗎?
我想執行
ffmpeg -x11grab
指定的時間,將輸出發送到文件中。(這是在 Debian 系統上,ffmpeg
7: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
。