Jawaban:
Gunakan -mapopsi untuk memilih aliran Anda. Pilihan aliran default hanya akan memilih satu dari setiap jenis aliran, oleh karena itu -mapharus digunakan.

ffmpeg -i video.mkv -i audio.mp3 -map 0:v -map 0:a:0 -map 1:a \
-metadata:s:a:0 language=eng -metadata:s:a:1 language=sme -codec copy \
-shortest output.mkv
0:v- 0Mengacu pada input pertama yaitu video.mkv. The vberarti "pilih streaming video jenis".
0:a:0- 0Mengacu pada input pertama yaitu video.mkv. The aberarti "memilih jenis stream audio". Yang terakhir 0mengacu pada aliran audio pertama dari input ini. Jika hanya 0:adigunakan, maka semua streaming video akan dipetakan.
1:a- 1Mengacu pada input kedua yaitu audio.mp3. The aberarti "memilih jenis stream audio".
-codec copyakan melakukan streaming salinan (re-mux) alih-alih menyandikan. Jika Anda memerlukan codec audio tertentu, Anda harus menentukan -c:v copy(untuk menyimpan video) dan kemudian, misalnya, -c:a libmp3lameuntuk menyandikan ulang aliran audio ke MP3.
-shortest akan mengakhiri output ketika input terpendek berakhir.

ffmpeg -i vid.mkv -i aud.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -strict experimental -b:a 192k -ac 2 \
-shortest out.mp4
amergepenyaringan digunakan di sini, sehingga audio tidak dapat disalin dalam contoh ini.-codec copy, tapi saya memperbaikinya (versi ffmpeg berbeda), masalah lain yang saya miliki adalah dengan -map, ia mengeluhkan jumlah aliran yang salah.
-map 0:v -map 1:a. Saya berasumsi ini berarti mengambil video dari file pertama (video.mkv) dan kemudian mengambil audio dari file kedua (audio.mp4) untuk membuat output.mkv ... Tidak yakin untuk apa -map 0:a:0itu. Saya mengecualikannya dan saya mendapatkan hasil yang saya inginkan.