GNU/Linux >> Belajar Linux >  >> Linux

FFmpeg tidak menyalin semua aliran audio

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.]


Linux
  1. Linux – Bagaimana Cara Streaming Video Lokal Ke Webcam Menggunakan Ffmpeg?

  2. Cpu Gratis, Namun Bash Script Tidak Menggunakan Semua Sumber Daya CPU?

  3. SMPlayer – Pemutar Media Gratis untuk Semua Format

  1. soxi:perintah tidak ditemukan

  2. sox:perintah tidak ditemukan

  3. Bagaimana cara menukar aliran audio pertama dan kedua dalam MKV di sistem berbasis Linux?

  1. Temukan Semua [nama file].mp4 Dan Ganti Nama [nama file].audio?

  2. Bagaimana Menemukan Semua File Yang Tidak Mengandung String Teks?

  3. Alasan rsync TIDAK mentransfer semua file?