使用 ffmpeg 录制游戏镜头 - 问题

使用 ffmpeg 录制游戏镜头 - 问题

我正在尝试创建一个脚本来使用 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 重定向游戏音频才能录制它
  • 音频不同步,我尝试了很多方法,但都没有成功
  • 我找不到同时录制游戏音频和麦克风音频的方法

所以,

  • 是否可以以某种方式改进脚本以获得更好的质量/性能?
  • 如何防止音频不同步?
  • 如何同时录制游戏视频、游戏音频和麦克风音频?

相关内容