Perintah yang Sama FFMPEG?

2

Apakah ada perbedaan antara kedua perintah ini untuk mengekstraksi audio dari video?

ffmpeg -i input.mp4 -c copy -map 0:a output.wav

ffmpeg -i input.mp4 -vn -acodec copy output.wav

AwesomeMarioFan
sumber

Jawaban:

2

Jika file mp4 Anda hanya berisi satu trek audio, maka kedua perintah memiliki hasil yang sama.

Setidaknya ada satu perbedaan utama, dalam kasus di mana mp4 Anda berisi beberapa track / stream audio (saya tidak merujuk ke beberapa saluran dalam aliran).

Wadah WAV hanya memungkinkan untuk satu trek audio, jadi jika Anda menggunakannya -map 0:aberpotensi akan menyalin lebih dari satu trek audio ke file WAV Anda yang akan menghasilkan kesalahan seperti:

Stream mapping:
Stream #0:2 -> #0:0 (copy)
Stream #0:3 -> #0:1 (copy)
Stream #0:4 -> #0:2 (copy)
Stream #0:5 -> #0:3 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

Perintah Anda yang tidak menentukan pemetaan tidak akan menampilkan kesalahan, karena secara default, ffmpeg hanya menampilkan satu trek dari setiap jenis jika pemetaan tidak ditentukan.

Selain itu, Anda tidak perlu menentukan -vnkapan menggunakan -acodec copydan menentukan wadah WAV, karena ffmpeg secara otomatis tidak akan mencoba memasukkan video ke dalam WAV.

Tandy Freeman
sumber