Ffmpeg ile sessizlik oluşturmak için aevalsrc filtresini kullanabilir ve ardından ikinci bir komutta bunları kayıpsız bir şekilde birleştirmek için concat protokolünü kullanabilirsiniz:
ffmpeg -filter_complex aevalsrc=0 -t 10 10SecSilence.mp3
ffmpeg -i "concat:input.mp3|10SecSilence.mp3" -c copy output.mp3
Sessizliğin uzunluğunu, -t 10
saniye cinsinden istediğiniz zamanı değiştirerek kontrol edebilirsiniz . Tabii ki, sadece bir kez sessizliği oluşturmanız gerekir, o zaman dosyayı etrafında tutabilir ve istediğiniz dosyaların her birini doldurmak için kullanabilirsiniz. Concat demuxer'ı da aramak isteyebilirsiniz - biraz daha işlemci yoğunluğu vardır, ancak bir kabuk betiğine düşmeyi daha kolay bulabilirsiniz.
Bunu tek bir komutta yapmak istiyorsanız, concat filtreyi kullanabilirsiniz - bu, sesinizi yeniden kodlamanızı gerektirir (filtre filtreleri ile uyumlu olmadığından -codec copy
), bu nedenle yukarıdaki seçenek muhtemelen sizin için en iyi olacaktır. Ancak bu, sesi kodlamadan önce sonuna kadar sessizlik eklemek isteyen ham PCM ile çalışan herkes için yararlı olabilir:
ffmpeg -i input.mp3 \
-filter_complex 'aevalsrc=0::d=10[silence];[0:a][silence]concat=n=2:v=0:a=1[out]' \
-map [out] -c:a libmp3lame -q:a 2 output.mp3
d=10
İstediğiniz zamana (saniye cinsinden) geçerek sessizliğin uzunluğunu kontrol edin . Bu yöntemi kullanırsanız, bu FFmpeg MP3 kodlama kılavuzunu kullanışlı bulabilirsiniz.