Perintah untuk mengekstrak audio dari video tanpa konversi

25

Saya tahu itu flvdan mp4file berisi aacaudio, sedangkan avivideo biasanya mp3audio stream.

Perintah apa (avconv, ffmpeg) yang akan mengekstrak audio tanpa transcoding?


sumber
Anda mungkin tertarik pada skrip PHP yang saya buat, yang saya gunakan untuk secara otomatis menentukan ekstensi file audio output.
Gras Double

Jawaban:

29
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

Berikut penjelasan singkat tentang apa yang dilakukan setiap parameter:

  • -i opsi menentukan file input.
  • -vn Opsi digunakan untuk melewati bagian video.
  • -acodec copy akan menyalin aliran audio menjaga codec asli.
jherran
sumber
sedangkan video mp4 berisi aac audio, bukan mp3, apakah itu menjaga aliran audio tanpa transcoding?
1
Tidak menangani ekstensi file output, kesalahan saya. Diperbarui jawabannya. Bagaimanapun, jika Anda membaca jawaban lengkapnya, Anda akan menemukan salinan -acodec, ini menghindari transcoding.
jherran
saya sarankan m4a (wadah untuk aac) daripada aac, karena sepertinya itu tidak mudah untuk dimainkan
apakah mungkin, saat menggunakan ffmpeg atau avconv, untuk memiliki perintah tanpa menyebutkan nama asli dari file input / output, sehingga perintah dapat digunakan seperti itu? (Saya ingin menggunakannya dalam tindakan menu konteks dalam file manager nemo)
1
Anda mungkin ingin menggunakan variabel atau sesuatu seperti itu, tetapi lebih baik Anda mengajukan pertanyaan dengan semua detail spesifik.
jherran
4

Sebagai jawaban pelengkap, dengan perintah yang tidak memerlukan nama spesifik file.

Untuk video yang mengandung aac audio:

ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a

Untuk digunakan dalam perintah menu konteks, formulir seperti ini berfungsi:

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f 

Ganti dengan output format audio yang sesuai untuk input format video lainnya.


Sumber awal di sini .


sumber