我同意我很想在 ffmpeg 中看到这个功能。
作为解决方案,我创建了一个脚本来将屏幕录制成图片并不断删除旧图片。不幸的是,它不保存音频。这是脚本。
#!/bin/bash
set -e -u
mkdir "$HOME/history" || true
rm "$HOME"/history/img*.png || true
# Get screen resolution.
RES="$(xwininfo -root | grep -Po 'geometry[^+]*' | sed 's/^\S* //')"
# Record the screen into images into /home/username/history/ one per second.
avconv -s "$RES" -f x11grab -i :0.0 -r 1 -f image2 "$HOME/history/img%06d.png" &
AVCONV_PID=$!
trap "kill $AVCONV_PID" INT TERM EXIT
while true; do
# Delete screen images older than 5 minutes.
find "$HOME/history" -name "img*.png" -mmin +5 -exec rm {} +
sleep 10
done
如果您想要每秒 5 张图片,请将部分更改-r 1
为-r 5
. 请参阅此链接如何将图像组装成视频(avi、mpeg)文件。
PS。
您也可以使用 ffmpeg 代替 avconv。