- Jika panjang video lebih pendek dari panjang audio,
-shortestitulah 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 apadseperti yang disarankan oleh @deadcode.
Namun jika Anda ingin menghindari pengodean ulang (yaitu -c:v copy) jawabannya berdiri.
Ada solusi menggunakan ffconcatdemuxer, 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 apadfilter tanpa grafik filter, sehingga memungkinkan mux tanpa reencoding.