Apa cara terbaik untuk mengekstrak audio dari file video?

19

Saya penggemar berat HandBrake . Ini adalah lambang sederhana. Pilih file video (atau DVD), pilih preset, pilih jalur output, klik Mulai. Sejumlah waktu kemudian relatif terhadap ukuran / kualitas konten, dan Anda memiliki file video yang cukup sempurna yang cocok untuk media pilihan Anda.

Saya telah mencari kualitas yang sama dalam Audio Converter, dan lebih disukai, sebuah Audio Extractor (dari file video yang diberikan). Saya ingin dapat menyeret file video ke aplikasi, tentukan bahwa saya ingin File Audio di AAC pada bitrate yang diberikan, klik Mulai, dan biarkan aplikasi melakukan sisanya.

Saya tidak segan menggunakan Handbrake untuk mencukupi aspek konversi ini, selama ekstraksi audio setelah faktanya adalah proses yang sederhana. Intinya adalah untuk mengambil langkah sesedikit mungkin.

Ada tips? Aplikasi? Ide ide?

Jason Salaz
sumber
Fission adalah utilitas yang baik untuk mengekstraksi Data Audio dari Video FIle, dan saya bersiap-siap untuk melakukannya dengan cara kuno, trek demi trek, secara manual. Bukan preferensi saya. Saya punya ide sesudahnya untuk Applescript itu, tapi sayangnya tampaknya Fission tidak memiliki Kamus AS.
Jason Salaz
@Jason mempertimbangkan beberapa skrip UI untuk berbicara dengan Fission?
Nathan Greenstein
Apakah itu umumnya Applescript primitif ketika aplikasi yang diberikan tidak memiliki kamus? Klik menu bernama "File". Klik item menu bernama "Simpan". Ada yang kurang lebih seperti itu?
Jason Salaz
@Jason yep. Tetapi mungkin lebih baik daripada melakukannya dengan tangan, tergantung pada berapa banyak dari ini yang Anda rencanakan untuk dilakukan.
Nathan Greenstein
Saya menemukan entri pada FAQ Handbrake hari ini: I just want audio, not video. Can I do that? Not with HandBrake, no. You could just encode the video at a low resolution with a fast low quality encoder like ffmpeg, then extract the audio track. Or you could use OSEx . Sayangnya, ini hanya PPC. Booooo!
Jason Salaz

Jawaban:

22

Saya akhirnya menemukan kombinasi persis yang saya butuhkan, dan saya menemukannya di ffmpeg .

Saya akan sedikit memperluas pertanyaan dan menguraikan fakta bahwa saya sudah bekerja dengan mp4 yang berisi video / audio, jadi MP4 Video (.m4v) dan AAC Audio (.m4a). Saya benar-benar menginginkan versi apa adanya audio yang diekstrak dari video.

Pertama, cukup mudah untuk menginstal hal-hal seperti ffmpeg, mplayer, hal-hal yang dibangun dari mereka, dan paket-paket open source serupa saat ini. Antara Rudix , Homebrew , MacPorts , dan Fink (apakah ada orang yang bahkan menggunakan fink lagi?), Perangkat lunak pihak ketiga sangat mudah untuk diinstal.

Jadi, setelah menginstal ffmpeg, dan ffmpegdapat diakses di baris perintah, saya menjalankan perintah seperti ini:

ffmpeg -i videofile.mp4 -vn -acodec copy audiotrack.m4a

ffmpeg : Perintah.

-i videofile.mp4 : File video sumber.

-vn : Jangan merekam (tidak mempertimbangkan) data video.

Salin -acodec : Salin sumber audio apa adanya, di sinilah semua keajaiban. ffmpeg akan menulis data audio sebagai berbagai codec yang didukung, tetapi menentukan salinan akan menghasilkan salinan stream yang tepat untuk bit. Ditambah dengan menonaktifkan video melalui -vn membuat Anda dengan satu-satunya trek audio di dalam wadah mp4.

audiotrack.m4a : Nama file keluaran.

Aku tidak percaya hal seperti ini begitu sulit dan tersembunyi begitu lama.

Karena saya selalu berniat untuk merobek data audio aac dari wadah mp4 / video, saya menulis skrip kecil cepat untuk melakukannya.

#!/bin/bash

INFILE="$1"
TMPOUTFILE="${INFILE%.*}"
OUTFILE="${TMPOUTFILE##*/}.m4a"

ffmpeg -i "${INFILE}" -vn -acodec copy "${OUTFILE}"

Sekarang, saya hanya memanggil rip_m4a_from_mp4 somevideofile.mp4dan saya ditinggalkan dengan versi audio saja dengan nama file yang sama, berakhir dengan m4a sebagai gantinya.

Sederhana! Bagi saya. Tidak ada GUI, cepat kilat, ini hanya salah satu dari hal-hal yang baris perintahnya lebih baik.

Jason Salaz
sumber
Secara layak, Anda dapat mengganti m4apada baris 5 dengan $2dan menentukan ekstensi baru pada baris perintah. Dengan begitu jika Anda bekerja dengan sesuatu yang lain, dan tahu apa audionya, Anda bisa menentukannya. Saya dapat melakukan ini sendiri dan mengubah nama skrip menjadi 'rip_audio_from_video'. Umum!
Jason Salaz
Untuk memulai. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"kemudian brew install ffmpeg. Sekarang ikuti instruksi di atas.
boyfarrell
Homepage Homebrew adalah brew.sh . Setelah mengikuti instruksi pada halaman itu (kalau-kalau mereka berubah) brew install ffmpeg,. Dan kemudian ya, maka Anda dapat mengikuti langkah saya.
Jason Salaz
2
Jika Anda tidak ingin kembali encode audio ke format lain, ffmpegdapat melakukannya dalam perintah yang sama. Misalnya: ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3( catswhocode.com/blog/19-ffmpeg-commands-for-all-need )
alexw
1
@alexw pastikan Anda menentukan 192k, bukan 192. Kalau tidak, ia akan kembali ke penyandian 128kbit / s.
smets.kevin
12

Anda dapat melakukan ini secara langsung di Finder, dimulai dengan Mac OS X 10.7 (Lion), seperti dijelaskan di OSX Daily .

Jawaban singkatnya adalah, pilih file atau file dalam Finder, lalu ctrlklik dan pilih Layanan -> Encode File Video yang Dipilih .

Perhatikan bahwa Anda mungkin perlu mengaktifkan layanan ini di panel preferensi Keyboard .

masukkan deskripsi gambar di sini

Craig S. Cottingham
sumber
Wow! Sangat mudah! Alasan lain untuk menggunakan Mac!
Javad Sadeqzadeh
Dalam kasus saya ukuran m4afile yang dihasilkan dibandingkan dengan menggunakan ffmpeglebih dari 3 kali lebih besar. Mungkin menjadi perhatian, terutama untuk file yang lebih besar.
Casimir
6

Saya akan menyeret film ke GarageBand. GarageBand akan membagi file menjadi audio dan video, di mana Anda dapat menghapus trek video (hanya menyisakan trek audio).

Anda kemudian dapat mengklik opsi Kirim Lagu Ke iTunes di menu Bagikan (lihat foto). Ini kemudian akan muncul dengan berbagai format yang ingin Anda ekspor.

masukkan deskripsi gambar di sini

Yang terbaik, ini gratis :) karena semua Mac datang dengan GarageBand. Plus itu juga memungkinkan Anda untuk menyesuaikan aspek audio seperti kecepatan dan volume.

Karena itu, jika Anda menginginkan solusi yang benar-benar otomatis, dan merasa nyaman di baris perintah dengan Terminal, beri tahu saya di komentar dan saya akan membuat skrip untuk memungkinkan Anda melakukan ini.

robzolkos
sumber
Saya tidak bermaksud melakukan ini karena satu alasan (kecuali saya salah, jangan ragu untuk mengoreksi saya): Kompresi. File video sudah memiliki data audio yang terkompresi secara signifikan, dan saya ingin mempertahankan data audio asli sebanyak mungkin. Fitur pembunuh Fission adalah "editing dan ekspor ulang yang hilang". Belum lagi GarageBand benar-benar sangat lambat untuk tugas-tugas seperti ini: /. Namun, ini adalah solusi luar biasa untuk tugas yang memenuhi subjek, jadi saya telah memberi Anda +1 untuk aspek itu.
Jason Salaz
4

Quicktime 7 akan melakukan pekerjaan dengan sangat mudah.

Cukup buka videonya, dan buka File > Ekspor > Suara ke AIFF / AU / Wave > pilih jalur Anda dan selesai! :)

nuc
sumber
Sepertinya saya mungkin perlu menemukan disc Snow Leopard saya ...
Jason Salaz
@vxjasonxv Anda tidak perlu melakukannya. Anda dapat mengunduh melalui tautan yang disediakan ..
nuc
Oh terima kasih! Saya tidak benar-benar berpikir bahwa tautan itu sebenarnya substantif dengan cara itu.
Jason Salaz
1
Apakah jebakan yang sama yang saya tambahkan ke jawaban Rob berlaku di sini? Saya dapat "menyimpan gelombang" dari audio, tetapi sudah dikompresi, dan secara teori untuk menggunakannya saya harus mengkompres ulang lagi, yang saya lebih suka tidak melakukannya.
Jason Salaz
4

QuickTime Player 10 juga dapat mengekspor audio (tanpa pengodean ulang).

Pilih File> Ekspor> Hanya Audio ...

Diuji pada macOS 10.12 Sierra dengan QuickTime Player 10.4.

Melebius
sumber
1
Tetapi apakah itu menyandikan ulang audio?
Jason Salaz
1
@JasonSalaz Tidak, ekstrak saja. Ini adalah IMHO pilihan yang lebih baik. Ini cukup cepat dan menjaga kualitas. Selain itu, Anda dapat menyandikannya kembali kapan saja.
Melebius
1
Luar biasa. Jawaban ffmpeg saya juga hanya mengekstrak sehingga mungkin hanya membutuhkan waktu sebanyak QuickTime. Keuntungan dari ffmpeg adalah ia tidak memiliki bobot beban UI yang melekat, sehingga tidak diragukan lagi lebih cepat pada 1 file, dan secara eksponensial lebih cepat pada banyak file. Tapi ini adalah jawaban yang bagus untuk seseorang yang berpengalaman dalam Automator / Applescripting, dan mungkin tidak nyaman di baris perintah atau dengan skrip shell.
Jason Salaz
0

Saya cukup membuka file video dengan audacity dan kemudian mengekspor audio. Saya dapat mengatur parameter file audio yang diekspor selama ekspor.

ttercek
sumber
Mengatur parameter file audio berarti meng-enkode ulang audio. Apakah Audacity memiliki opsi melewati (ekstraksi tidak berubah)?
Jason Salaz