Bagaimana saya bisa menggunakan -map
saklar ffmpeg untuk memilih trek audio dengan codec-nya?
Katakanlah ada video.mkv dengan satu aliran video (0) dan tiga trek audio (1, 2, 3).
Trek audio memiliki codec yang berbeda, misalnya DTS, AAC dan AC-3 (dalam urutan apa pun).
Saya ingin menghasilkan file output dengan aliran video -map 0:0
dan hanya trek AAC, sesuatu seperti:
ffmpeg -i video.mkv -map 0:0 -map 0:aac -codec copy output_with_aac_audio.mkv
Dalam skenario nyata saya tidak tahu mana yang merupakan trek AAC (1, 2 atau 3).
ffprobe
.Jawaban:
Seperti yang disebutkan Tom Yan dalam komentarnya, Anda dapat menggunakan
ffprobe
untuk mendapatkan indeks aliran:Saya anggap Anda menggunakan Linux, jadi menambahkan hanya
awk
akan memberi Anda indeks aliran aac. Dalam contoh ini hasilnya menunjukkan aliran aac sebagai indeks aliran2
:Kemudian gunakan
-map 0:2
dalamffmpeg
perintah Anda .sumber