Добавить 1 секунду тишины в аудио через FFmpeg

У меня есть AC3 5.1 аудио файл, в который я хотел бы вставить X секунд тихого звука в начале. Это не имеет ничего общего с видео-мультиплексированием, поэтому itsoffset бесполезен, так как он, кажется, работает только с аудиопотоком, сопровождающим видеопоток. Я хотел бы добиться этого с помощью ffmpeg. Есть идеи?

13
задан Makaveli84
05.01.2023 6:41 Количество просмотров материала 2529
Распечатать страницу

1 ответ

можно использовать 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 будет не.

17
отвечен LordNeckbeard 2023-01-06 14:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх