Для создания аудио файла, повторяющегося на протяжении всего видео, вы можете использовать ffmpeg с помощью команды `-stream_loop -1`, что указывает на бесконечное повторение аудио потока.
Пример команды:
```
ffmpeg -i input_video.mp4 -stream_loop -1 -i input_audio.mp3 -c:v copy -c:a aac -map 0:v -map 1:a -shortest output_video.mp4
```
В этой команде `input_video.mp4` - исходное видео, `input_audio.mp3` - исходный аудио файл, `output_video.mp4` - имя файла для сохранения выходного видео.
`-c:v copy` указывает на копирование видео потока без изменений, а `-c:a aac` говорит о том, что аудио поток будет сконвертирован в AAC формат (вы можете выбрать любой другой поддерживаемый формат).
`-map 0:v -map 1:a` используется для выбора потоков видео и аудио, которые будут использоваться в выходном файле.
`-shortest` гарантирует, что выходной файл будет иметь продолжительность видео потока, даже если аудио поток длиннее.
Ошибку в коде при дублировании аудио на всю продолжительность видео, вызывающую конец аудио на середине видео, можно исправить, используя параметр `-shortest`, как указано в примере выше. Это заставит ffmpeg прекратить запись после окончания видео потока, а не аудио потока.