linux 指定窗口录屏
时间: 2023-10-23 19:14:39 浏览: 170
你可以使用以下命令来指定窗口进行录屏:
```
ffmpeg -f x11grab -s $(xdotool getactivewindow getwindowgeometry --shell | awk -F= '/WIDTH/ {print $2"x"}; /HEIGHT/ {print $2 "+"} ; /X/ {print $2"+"} ; /Y/ {print $2}') -i :0.0+$(xdotool getactivewindow getwindowgeometry --shell | awk -F= '/X/ {print $2} ; /Y/ {print $4}') -c:v libx264 -preset ultrafast -c:a aac -b:a 128k output.mp4
```
该命令使用了 `ffmpeg` 工具来录制屏幕。其中 `-s` 参数用于指定录制的窗口大小和位置,`-i` 参数则用于指定录制的屏幕区域。你需要安装 `xdotool` 工具来获取当前活动窗口的 ID 和位置信息。最后,指定输出文件名并开始录制。
注意,在录制过程中可能会出现一些卡顿或者画面不流畅的情况,这可能是由于系统资源不足或者录制设置不合理导致的。你可以通过调整命令参数来尝试解决这些问题。
相关问题
linux的ffmpeg录屏命令
在Linux系统中,FFmpeg是一个强大的多媒体处理工具,常用于视频编码、解码、转换以及抓取屏幕录制。如果你想通过FFmpeg录制屏幕,可以使用以下基本命令结构:
```bash
ffmpeg -f x11grab -video_size <宽度>x<高度> -framerate <帧率> -i :0.0 <output_video>.avi
```
这里各参数解释如下:
- `-f x11grab`:指定输入源为X11显示服务器。
- `-video_size <宽度>x<高度>`:设置输出视频的尺寸,例如 `1920x1080`。
- `-framerate <帧率>`:设置每秒播放的帧数,比如 `30` 或 `60`.
- `-i :0.0`:这里的`:0.0`代表当前默认显示器,你可以替换为你想要捕获的特定窗口ID。
- `<output_video>.avi`:这是你想要保存的文件名和格式,支持多种视频格式。
例如,如果你想录制整个屏幕并以1080p@30fps的速度保存为`.mp4`格式,命令将是:
```bash
ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 output.mp4
```
scrcpy如何录屏?
`scrcpy`是一个轻量级的开源工具,用于在电脑上实时同步显示并录制Android设备的屏幕内容。以下是使用`scrcpy`录屏的基本步骤:
1. **安装scrcpy**:首先,你需要在你的电脑上安装`scrcpy`。对于Windows用户,可以从项目GitHub页面下载适用于Windows的预编译二进制文件;对于Mac或Linux用户,可以使用包管理器如Homebrew(Mac)或apt-get(Ubuntu)安装。
2. **启动服务**:打开终端或命令提示符,进入scrcpy的安装目录,并运行`scrcpy`。如果不指定端口,默认会占用9000端口,例如:`./scrcpy` 或者 `scrcpy -s` (如果在Mac/Linux上,记得切换到该目录并且加上sudo前缀)。
3. **连接设备**:确保你的手机已经开启USB调试模式并通过数据线连接到电脑。电脑会识别到设备,然后开始实时同步和显示屏幕。
4. **开始录制**:`scrcpy`会在输出屏幕上显示一个小窗口,表示正在录制。如果你想录制屏幕,可以在终端里按下`q`键暂停录制,然后再按一次`q`键继续。也可以直接通过快捷键`Ctrl+C`停止录制,这时会在当前目录下生成一个`.mkv`格式的视频文件。
5. **结束使用**:录制完成后,你可以关闭`scrcpy`服务,例如通过键盘组合`Ctrl+C`。
注意:为了得到最佳效果,建议在录屏前降低手机屏幕亮度,并关闭不必要的后台应用以减少CPU负载。
阅读全文