Я пытаюсь настроить систему захвата звука, похожую на Nvidia ShadowPlay, в которой есть фоновая программа, которая постоянно хранит буфер последних X минут отснятого материала (или аудио в данном случае) и, по команде, постоянно сохраняет его в отдельный файл. Что я придумала до сих пор:
ffmpeg -f dshow -i audio="My input device" buffer.wav
записать, а затем
ffmpeg.exe -sseof -30 -i buffer.wav -c copy capture.wav
Скопировать последние 30 секунд буфера. Однако это связано с тем, что размер файла буфера достигает сотен мегабайт за считанные минуты. Вместо этого я хотел бы иметь возможность регулировать максимальную длину записи, чтобы после того, как она превысила этот предел, она начала обрезаться в начале файла. Другими словами, если для файла установлено 5-минутное ограничение, и он был записан в течение 5 минут и 10 секунд, первые 10 секунд, которые он записал, должны быть удалены, что гарантирует, что файл никогда не превысит пяти минут.