【问题标题】:ffmpeg screen recording using selection使用选择的ffmpeg屏幕录制
【发布时间】:2022-10-25 22:11:17
【问题描述】:
我使用ffmpeg 从屏幕录制视频。我知道有设置大小和偏移量的选项。我使用这个命令:
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :1+100,200 output.mp4
其中1024x768 是大小,+100,200 是x 和y 偏移量。
我想找到一种方法来使用屏幕选择来设置这些尺寸和偏移参数。请参阅下面我在“选择”下的意思:
有没有办法通过ffmpeg 本身或通过其他一些本机选项来做到这一点?
PS。我在下面回答了我自己的问题,但我使用flameshot,这不是开箱即用的解决方案。
【问题讨论】:
标签:
linux
ubuntu
ffmpeg
screen-recording
【解决方案1】:
我当前的解决方案基于flameshot 屏幕捕获工具(仅图像)。它有print-geometry 选项:
-g, --print-geometry 打印几何图形
以 W H X Y 格式选择。
因此,您可以从输出中获取大小和偏移量:
$ flameshot gui -g
838x394+590+361
解决方案本身
安装flameshot:
sudo apt install flameshot
创建脚本:
nano record_screen.sh
内容:
#!/bin/bash
dir="~/Videos/screen records"
params=$(flameshot gui -g)
array=(`echo $params | sed 's/+/
/g'`)
now=`date "+%F_%H-%M-%S"`
filename="${dir}/${now}.mp4"
ffmpeg -video_size "${array[0]}" -framerate 25 -f x11grab -i :1+"${array[1]}","${array[2]}" "${filename}"
跑:
bash record_screen.sh
它会要求您选择区域:
然后将开始录制
您可以使用q 热键停止录制。
结果将被放置到:
~/Videos/screen records/
打开文件
如果要打开包含视频文件的目录,也可以将此命令添加到脚本末尾:
xdg-open "${dir}"
或打开文件本身:
xdg-open "${filename}"