1

Я пытаюсь создать скрипт для записи оконных игр с помощью 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, чтобы иметь возможность записать его
  • Звук не синхронизируется, я попробовал много вариантов без удачи
  • Я не могу найти способ записать как игровой звук, так и звук с микрофона

Так,

  • Можно ли как-нибудь улучшить скрипт для улучшения качества / производительности?
  • Как я могу предотвратить несинхронизацию звука?
  • Как можно одновременно записывать видео игры, аудио игры и микрофона?

0