Я надеюсь понять ваш вопрос. Чтобы создать wav-файл без вывода сообщений:
ffmpeg -f lavfi -i anullsrc -t 01:00:00 silence.wav
Замените 01:00:00 (один час) нужной вам продолжительностью. Затем объедините и смешайте аудиофайлы. В этом примере я использую два небольших аудиоклипа:
ffmpeg -i silence.wav -i clip1.wav -i clip2.wav -filter_complex "aevalsrc=0:d=10[s1];aevalsrc=0:d=20[s2];[s1][1:a]concat=n=2:v=0:a=1[ac1];[s2][2:a]concat=n=2:v=0:a=1[ac2];[0:a][ac1][ac2]amix=3[aout]" -map [aout] out.wav
Это очень длинная команда для смешивания множества клипов. Итак, попробуйте скрипт bash ниже. Инструкции:
Скопируйте приведенный ниже код в пустой файл sh, называемый смешиванием. sh
Замените "позиции" на мгновения в секундах для запуска каждого клипа (мои стартовые клипы - 10, 22 и 35 секунд).
Убедитесь, что все клипы размещены в папке с названием «клипы» (рядом с файлом sh). Не забудьте пронумеровать файлы (1.wav, 2.wav ...)
Откройте терминал и введите: bash смешивание. sh
Файл out.wav должен содержать аудиоклипы в нужных местах.
Здесь скрипт, удачи!
#!/bin/bash
positions=(10 22 35)
seconds_at_the_end=2
clips_folder="./clips/"
filetype=".mp3"
silence_file="silence"$filetype
output_file="out"$filetype
command="ffmpeg"
file_id=1
aevalsrc=""
concat=""
mix="[0:a]"
clips=($clips_folder*$filetype)
last_clip_length=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 ${clips[-1]} | awk '{printf("%d\n",$1 + 0.5)}')
silence_length=$((${positions[-1]}+last_clip_length+seconds_at_the_end))
eval $(ffmpeg -f lavfi -i anullsrc -t $silence_length $silence_file)
for filename in $clips_folder*$filetype;
do
inputs=$inputs" -i "$filename
aevalsrc=$aevalsrc"aevalsrc=0:d=${positions[$((file_id-1))]}[s"$file_id"];"
concat=$concat"[s"$file_id"]["$file_id":a]concat=n=2:v=0:a=1[ac"$file_id"];"
mix=$mix"[ac"$file_id"]"
file_id=$((file_id+1))
done
mix=$mix"amix="$((${#positions[*]}+1))"[aout]"
eval $($command -i $silence_file $inputs -filter_complex "$aevalsrc$concat$mix" -map [aout] $output_file)
Совет: Я предпочитаю бесплатные форматы, такие как ogg (vorbis) или fla c, это более удобный формат для редактирования или преобразования. Вы можете выполнять более сложные операции, и вы можете свободно использовать. Дополнительная информация: https://directory.fsf.org/wiki/Ogg_Vorbis