我正在尝试创建一个脚本来使用 ffmpeg 录制窗口游戏。
这是我目前所拥有的:
#!/bin/sh
INFO=$(xwininfo -frame)
WIN_GEO=$(echo $INFO | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+')
WIN_XY=$(echo $INFO | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/+/,/' )
ffmpeg -f x11grab -y -r 60 -s $WIN_GEO -i :0.0+$WIN_XY -f alsa -i pulse -crf 18 -preset ultrafast -threads 8 -async 5000 $1.mkv
它允许我单击一个窗口并记录它 - 它可以工作,但也存在一些问题:
- 我必须手动使用 pavucontrol 重定向游戏音频才能录制它
- 音频不同步,我尝试了很多方法,但都没有成功
- 我找不到同时录制游戏音频和麦克风音频的方法
所以,
- 是否可以以某种方式改进脚本以获得更好的质量/性能?
- 如何防止音频不同步?
- 如何同时录制游戏视频、游戏音频和麦克风音频?