Saya mengembalikan CD saya ke FLAC dan kemudian transcode ke file AAC (.m4a) untuk portabilitas di ponsel android saya dan iPhone milik istri. Saya telah menggunakan XLD di Mac dan itu bekerja dengan baik, tetapi saya lebih suka tidak mencuri Mac-nya untuk melakukan ini dan dapat melakukannya pada kotak Debian saya sendiri. Karya-karya berikut:
avconv -i "inputfile.flac" -acodec aac -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"
Tetapi hal-hal berikut tidak (ya, tetapi mengabaikan 320 untuk kualitas audio dan hasil yang sama seperti di atas):
avconv -i "inputfile.flac" -acodec aac -aq 320 -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"
Saya telah menemukan perintah lain secara daring seperti "ffmpeg" tetapi tampaknya sebagian besar atau semuanya didepresiasi untuk metode avconv di atas. Bantuan apa pun akan sangat dihargai! Saya bisa hidup dengan 320 Kbps jika VBR tidak benar, tetapi LC VBR setidaknya 320 akan menjadi yang terbaik.
sumber
Jawaban:
Pertama-tama,
-aq
tetapkan bit rate variabel berbasis kualitas - Saya pikir Anda sedang mencari-ab
(perhatikan bahwa saya adalah pengguna ffmpeg, jadi pengetahuan saya tentang sintaks avconv terbatas - Saya tidak tahu seberapa jauh itu telah melayang sejak garpu).Apapun, enkoder AAC avconv / ffmpeg bawaan cukup buruk.
fdk_aac
Satu-satunya encoder AAC yang sangat bagus untuk avconv / ffmpeg adalah libfdk_aac - tetapi lisensi untuk itu tidak kompatibel dengan GPL, jadi untuk mendapatkan akses ke sana Anda harus mengkompilasi sendiri (itu adalah panduan kompilasi ffmpeg, karena saya tidak tahu satu untuk avconv - panduan Ubuntu harus baik untuk Debian, karena saya tidak berpikir ada sesuatu yang spesifik Ubuntu di sana).
Setelah Anda mendapatkannya, ikuti panduan pengkodean AAC ; Saya sangat merekomendasikan mencoba
-vbr
opsi fdk_aac - pengaturan 3 suara transparan untuk saya pada semua file yang saya coba, jika Anda ingin plasebo bit rate yang lebih tinggi, atau Anda seorang insinyur suara, Anda dapat mencoba pengaturan 5.Tidak perlu
-map_metadata
, karena ffmpeg akan secara otomatis mentransfer metadata (dan saya cukup yakin bahwa avconv juga akan).Untuk bit rate tetap 320 kbit / s (serius, ini tidak sepadan, AAC mencapai transparansi audio vs audio CD asli di sekitar tetap 128 kbit / s):
neroAacEnc
Encoder Aero Nero harus dianggap setara dengan fdk_aac dan qaac (Quicktime AAC). Orang yang berbeda akan memberikan pendapat berbeda tentang yang mana yang lebih baik, tetapi Anda hanya akan melihat perbedaan pada tingkat bit yang sangat rendah, dan semua orang setuju bahwa mereka semua berkualitas sangat tinggi.
neroAacEnc
tersedia dari situs web Nero . Buka zip dan letakkan di suatu tempat di $ PATH Anda.Sayangnya
neroAacEnc
hanya dapat mengambil audio WAV sebagai input; Anda dapat menyiasatinya dengan menggunakan avconv atau ffmpeg sebagai dekoder:Sayangnya, ini akan menghapus metadata; untuk mentransfernya, gunakan avprobe / ffprobe (with
-show_format
) untuk mengekstrak dan neroAacTag untuk menyisipkan. Skrip bash mungkin akan beres.Lihat halaman HydrogenAudio di neroAacEnc : dari memori,
-q
pengaturan 0,4 terdengar bagus untuk saya. Anda dapat menargetkan bit rate dengan-br
(sekali lagi, saya pikir ini akan menjadi cara yang berlebihan):EDIT: di sini adalah skrip untuk mengkonversi file audio ke m4a dengan neroAacEnc, kemudian menandai dengan ffprobe dan neroAacTag (mengharuskan mereka semua berada di direktori di $ PATH Anda). Ini dapat mengambil banyak file input, jadi jika Anda menyimpannya
convert-to-m4a
, Anda dapat mengonversi setiap file FLAC dalam direktoriItu tidak terbatas hanya pada file FLAC; format audio apa pun yang dapat didekodekan oleh ffmpeg / avconv Anda akan berfungsi. Anda mungkin ingin mengubah ffprobe dan ffmpeg menjadi avprobe dan avconv:
sumber
brew install ffmpeg --with-fdk-aac
. Anda bisa mendapatkan daftar opsi denganbrew info ffmpeg
. Tapi ide bagus untuk tidak mencuri Mac istrimu :)Saya sarankan menggunakan FFmpeg untuk mengkonversi dari FLAC ke AAC. FFmpeg mudah diinstal pada mesin Mac OS X dengan minuman:
Kemudian jalankan perintah berikut untuk mengonversi semua file FLAC di direktori saat ini ke AAC:
Dan untuk mengubahnya menjadi MP3:
sumber
for i in *flac;do of="${i/.flac/.m4a}"; ffmpeg -i "${i}" -vn -acodec aac -b:a 320k -f mp4 -y "${of}";done
Ini adalah skrip pembungkus ffmpeg saya untuk mengonversi format audio apa pun yang didukung ke AAC (menggunakan libfdk-aac encoder yang merupakan enkoder aac yang direkomendasikan oleh ffmpeg wiki).
Pesan bantuan baris perintah:
sumber
Jawaban Tambahan (untuk jawaban evilsoup)
Untuk menangani
find
's-print0
+xarg
' s-0
)$1
darish -c
's argumen posisi--FILE
set olehxarg
' s-I
)Satu garis
sumber