Мне нужно записывать аудио и видео на рабочем столе в автоматическом режиме. Поэтому я написал небольшой многопоточный скрипт на python, который в основном выполняет следующие шаги:
# 1.) Grab desktop audio
AUDIO_SRC=`LANG=c pactl list | grep -A2 '^Source #' | grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1`
parec --format=s16le --rate=44100 --channels=2 --device=$AUDIO_SRC out.raw
# 2.) Grap screen
ffmpeg -f x11grab -s 1024x768 -r 10 -b 2000k -i :0 out.avi
# 3.) Convert raw audio to wav
sox --norm -s -b 16 -L -r 44100 -c 2 out.raw out.wav highpass 65 lowpass 12k
# 4.) Join audio & video to flv file
ffmpeg -y -i out.avi -r 10 -sameq -i out.wav -async 1 -f flv movie.flv
Захват экрана и запись звука выполняются параллельно. Проблема в том, что звук movie.flv всегда задерживается примерно на 15 секунд. Спасибо заранее.