FFmpeg memiliki opsi untuk memetakan semua aliran ke output, Anda harus menggunakan opsi -map 0
untuk memetakan semua aliran dari input ke output.
Secara lengkap mungkin terlihat seperti:
ffmpeg -i in.mp4 -c copy -map 0 out.mp4
Untuk info lebih lanjut, lihat dokumentasi tentang pemilihan aliran dan -map
opsi.
Rupanya ini adalah pertanyaan yang populer, jadi saya memposting solusi saya sebagai jawaban (sebelumnya adalah balasan komentar) agar orang lain dapat melihatnya.
Saya berhasil menemukan sintaks yang benar dari tiket ini. Sintaks yang benar adalah:
ffmpeg -i in.mp4 -vcodec copy -c:a copy -map 0:0 -map 0:1 -map 0:2 out.mp4
Ini akan menyalin ketiga aliran.
Oke, saya membaca cukup dalam tentang ffmpeg
halaman manual dan menemukan ini yang seharusnya berguna:
Perhatikan bahwa saat ini setiap aliran keluaran hanya dapat berisi saluran dari satu aliran masukan; misalnya Anda tidak dapat menggunakan "-map_channel" untuk memilih beberapa saluran audio input yang terdapat dalam aliran yang berbeda (dari file yang sama atau berbeda) dan menggabungkannya menjadi satu aliran keluaran. Oleh karena itu, saat ini tidak mungkin, misalnya, untuk mengubah dua aliran mono yang terpisah menjadi satu aliran stereo. Namun, membagi aliran stereo menjadi dua aliran mono saluran tunggal adalah mungkin.
Jika Anda memerlukan fitur ini, solusi yang mungkin adalah menggunakan amergefilter. Misalnya, jika Anda perlu menggabungkan media (di sini input.mkv) dengan 2 aliran audio mono menjadi satu aliran audio saluran stereo tunggal (dan mempertahankan aliran video), Anda dapat menggunakan perintah berikut:
ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv
Anda mungkin ingin membaca dan bereksperimen dengan petunjuk halaman manual di man ffmpeg-filters
untuk memahami tingkat kerumitan apa yang Anda hadapi dalam penamaan saluran dan keluaran yang diharapkan.
[Sunting:Seperti yang dicatat Mulvya, ini menjawab sebuah pertanyaan, tetapi itu bukan pertanyaan pembuat aslinya.]