Menggunakan concat demuxer (tambahkan diam ke awal dan / atau akhir)
Gunakan pendamai concat jika Anda ingin menghindari pengkodean ulang segmen utama. Metode ini berfungsi untuk menambahkan keheningan ke awal atau akhir (atau keduanya).
Gunakan filter sumber audio anullsrc untuk membuat audio diam. Anda harus mencocokkan format, tata letak saluran, dan laju sampel file audio utama. Contoh untuk membuat saluran 5.1, laju sampel 48000 Hz, file audio AC3 diam 1 detik (seperti ini format dalam pertanyaan):
ffmpeg -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -t 1 silence.ac3
Sekarang buat file teks bernama input.txt
yang mencantumkan file yang akan digabungkan:
file 'silent.ac3'
file 'main.ac3'
Jika Anda ingin keheningan di akhir, alih-alih ganti saja urutan file input.txt
.
Sekarang Anda dapat menggabungkan file menggunakan demuxer concat :
ffmpeg -f concat -i input.txt -codec copy output.ac3
Menggunakan filter concat (tambahkan keheningan ke awal dan / atau akhir)
Gunakan filter concat jika Anda ingin melakukan semuanya dalam satu perintah, atau jika Anda ingin output ke format yang berbeda dari input (karena metode ini tetap mengenkode ulang). Metode ini berfungsi untuk menambahkan keheningan ke awal atau akhir atau keduanya.
Contoh untuk menambahkan 1 detik keheningan ke awal stereo, input rate sampel 44100 Hz:
ffmpeg -f lavfi -t 1 -i anullsrc=channel_layout=stereo:sample_rate=44100 -i audio.oga -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1" output.m4a
Pemfilteran akan menghasilkan pengkodean ulang sedangkan demuxer concat tidak.
Dalam anullsrc disarankan untuk mencocokkan tata letak saluran dan laju sampel input.
Jika Anda ingin menambahkan diam ke akhir bukan hanya beralih urutan input yang diberikan ke filter concat: [1:a][0:a]concat=n=2:v=0:a=1
.
Menggunakan filter adelay (tambahkan diam ke awal)
Gunakan filter audio adelay jika Anda ingin melakukan semuanya dalam satu perintah, atau jika Anda ingin output ke format yang berbeda dari input (karena metode ini tetap mengenkode ulang). Ini hanya berfungsi untuk menambahkan keheningan ke awal file.
Contoh ini akan menambahkan 1 detik keheningan ke awal input stereo:
ffmpeg -i input.flac -af "adelay=1000|1000" output.opus
- Pemfilteran akan menghasilkan pengkodean ulang sedangkan demuxer concat tidak.
- Nilai dalam milidetik. Pengguna versi terbaru (git master saat ini atau apa pun yang lebih baru dari FFmpeg 4.1) dapat digunakan
1s
untuk satu detik.
- Setiap saluran membutuhkan penundaannya sendiri. Misalnya, input mono akan digunakan
adelay=1000
, sedangkan input 5.1 akan digunakan adelay=1000|1000|1000|1000|1000|1000
.
Menggunakan filter apad (tambahkan keheningan sampai akhir)
Gunakan filter audio apad jika Anda ingin melakukan semuanya dalam satu perintah, atau jika Anda ingin output ke format yang berbeda dari input (karena metode ini tetap mengenkode ulang). Ini hanya berfungsi untuk menambahkan keheningan di akhir file.
Contoh ini akan menambahkan 1 detik keheningan sampai akhir:
ffmpeg -i input.wav -af "apad=pad_dur=1" output.m4a
Pemfilteran akan menghasilkan pengkodean ulang sedangkan demuxer concat tidak.
The pad_dur
pilihan yang ditambahkan setelah rilis FFmpeg 4.1, sehingga Anda akan perlu menggunakan membangun terbaru dari cabang master git atau menunggu FFmpeg 4.2.