我需要以自动方式录制桌面音频和视频。因此我编写了一个小型多线程 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 秒。提前致谢。