У меня есть аудиофайл AC3 5.1, в который я хотел бы вставить x секунд тихого звука в начале. Это не имеет никакого отношения к мультиплексированию видео, поэтому его смещение бесполезно, поскольку кажется, что оно работает только с аудиопотоком, сопровождающим видео. Я хотел бы добиться этого с помощью ffmpeg. Есть идеи?
11
1 ответ
19
Вы можете использовать фильтр аудиоисточников anullsrc в ffmpeg
. Пример создания 5.1-канального звука с частотой дискретизации 48000 Гц и аудиофайлом в 1 секунду
ffmpeg -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -t 1 silence.ac3
Теперь вы можете объединять файлы, используя протокол concat:
ffmpeg -i concat:"silence.ac3|audio.ac3" -codec copy combined.ac3
Или вы можете сделать все в одной команде с помощью фильтра concat:
ffmpeg -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -i audio.ac3 -filter_complex \
"[0:0] [1:0] concat=n=2:v=0:a=1" combined.ac3
Использование фильтра concat приведет к перекодированию, а протокол concat - нет.