ffmpeg - mengganti audio dalam video

Cara mengganti audio dalam video file menggunakan file audio menggunakan ffmpeg?

Saya membayangkan perintah terlihat seperti:

ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4

Ini sangat mirip dengan https://superuser.com/questions/800234/how-to-replace-an-audio-stream-in-a-video-file-with-multiple-audio-streams tapi pertanyaan yang menangani beberapa track audio, yang mempersulit itu sangat banyak, sehingga tidak jelas mana bagian dari solusi adalah cukup untuk audio sederhana swap.

Larutan

Anda akan ingin untuk menyalin streaming video tanpa re-encoding untuk menghemat banyak waktu tapi re-encoding audio mungkin bisa membantu untuk mencegah inkompatibilitas:

ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4

-map 0:v:0 peta pertama (index 0) stream video dari input pertama (index 0) stream video di output.

-peta 1:: 0 maps kedua (index 1) stream audio dari input pertama (index 0) stream audio output.

Jika audio lebih panjang dari video, anda akan ingin untuk menambahkan -terpendek sebelum nama file output.

Tidak menentukan codec audio akan secara otomatis memilih satu yang bekerja. Anda dapat menentukan salah satu misalnya dengan menambahkan -c:a libvorbis setelah -c:v copy.

Komentar (4)