- Jika panjang video lebih pendek dari panjang audio,
-shortest
itulah yang Anda inginkan.
- Jika panjang video lebih panjang dari panjang audio, tidak ada bendera sama sekali yang Anda inginkan.
Tidak ada bendera untuk mengotomatiskan keputusan ini.
EDIT
Terinspirasi oleh jawaban deadcode, saya perlu menjelaskan, bahwa "tidak ada flag untuk diotomatisasi" tentu saja tidak benar, jika Anda bersedia memasukkan ulang : Dalam hal ini, ikuti apad
seperti yang disarankan oleh @deadcode.
Namun jika Anda ingin menghindari pengodean ulang (yaitu -c:v copy
) jawabannya berdiri.
Ada solusi menggunakan ffconcat
demuxer, tetapi perlu sedikit kerja:
- buat file yang mengandung keheningan dalam format yang persis sama dengan audiofile Anda ("silence.wav")
- buat file concat "audio.ffconcat" (dengan sebanyak mungkin baris senyap yang Anda perlukan untuk memastikan audio Anda cukup panjang):
.
file 'audiofile.wav'
file 'silence.wav'
file 'silence.wav'
...
file 'silence.wav'
- Lari
ffmpeg -i videofile.mp4 -f concat -i audio.ffconcat -c:v copy output.mp4
Ini akan mensintesis apad
filter tanpa grafik filter, sehingga memungkinkan mux tanpa reencoding.