使用 ffmpeg 进行屏幕录制

使用 ffmpeg 进行屏幕录制

我需要录制但仅录制活动窗口且不录制音频:我正在使用此命令但它会录制所有屏幕(带有应用程序栏)

ffmpeg -f x11grab -video_size 1920x1080 -framerate 25  -i :0.0+100,200 -f alsa -ac 2 -i pulse -acodec aac -strict experimental output.mp4

谢谢!

答案1

您可以使用xwininfo来获取想要记录的特定窗口的坐标。

  1. 跑步xwininfo

  2. 它会要求您选择要录制的窗口。

  3. 将显示有关所选窗口的信息。重要的信息是-geometry并且可能是最后一行。例如:-geometry 1600x900+129+57

  4. ffmpeg使用以下数字运行-geometry

    ffmpeg -f x11grab -video_size 1600x900 -framerate 50 -i :0.0+129,57 -vf format=yuv420p output.mp4
    

请注意,x11grab 并不“智能”。它只会记录您指定的区域,不会跟随移动的窗口。如果您切换到另一个桌面,它也会被记录下来。

答案2

你可以将这一行添加到你的 ffmpeg 执行代码中

 xdotool selectwindow getwindowgeometry | tr '\n' ' ' | gawk '{print "--video_size " $8 " -i +"$4 }'

或者如果您想获取具有焦点的窗口的坐标:

xdotool getwindowfocus getwindowgeometry | tr '\n' ' ' | gawk '{print "--video_size " $8 " -i +"$4 }'

相关内容