我使用以下命令用 ffmpeg 录制屏幕。
ffmpeg -nostdin -video_size 720x878 -framerate 24 -f x11grab -i :0.0+720,0 -vf setpts=N/FR/TB -vcodec libx264 -y -loglevel quiet output.mkv &
我还使用以下命令来暂停、恢复和停止录音:
# to pause
pkill -STOP ffmpeg
#to resume
pkill -CONT ffmpeg
# to stop
pkill -INT ffmpeg
我注意到录制的总时间比录制视频的实际时间长。简而言之,输出比预期的要长。
为了测试我的理解,我运行了以下循环,每秒打印经过的时间,然后记录大约一分钟。
i=1 && while true; do echo $((i++)) && sleep 1; done
# example output
1
2
3
...
每当我恢复录音时,新的回声都会比一秒慢一点,持续大约 4 到 5 秒,然后一切恢复正常。实际上每个回声对应一秒。所以我想也许它的编码/解码需要时间。
知道如何解决这个问题吗?