FLAC müzik koleksiyonumu Apple Lossless'e nasıl dönüştürebilirim?


13

Ubuntu dizüstü bilgisayarımda FLAC formatında sakladığım makul boyutlu bir müzik koleksiyonum var. Bu müziği Mac bilgisayarımda çalmaya başlamak ve oradan iPod'umla senkronize etmek istiyorum. İnsanlar bunu yapmanın en iyi yolunun koleksiyonumu ALAC'a dönüştürmek olduğunu öne sürdüler ve ben de bunu yapmak istediğime karar verdim.

Dalış yapmadan ve ffmpegbazı karmaşık findkomutlarla çağrılan özel kabuk komut dosyaları yazmadan önce , tavsiye isteyeceğimi düşündüm.

Ses kalitesinde herhangi bir kayıp olmadan ve tüm meta verileri saklamadan, mevcut FLAC koleksiyonumu en iyi nasıl ALAC'ye dönüştürebilirim?


Huh. Şaşırdım. Kod dönüştürme aracı için bariz bir seçim olacağını düşündüm, ancak bulabildiklerim videoya odaklandı.
RAOF

Burada yaptığım şey metaflac, ffmpeg ve AtomicParsley adlı özel bir Python betiği yazmaktı.
jml

Yanıtlar:


21

avconv (veya avconv'un çatalı olan ffmpeg) bunu komut satırından yapabilir:

avconv -i input.flac -c:a alac output.m4a

Meta verileri tek başına korumalıdır.

Bir dizindeki her bir ipi yapmak için:

for f in ./*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done

Her bir flac'ı tekrar tekrar yapmak için (geçerli dizinde ve tüm alt dizinlerde):

shopt -s globstar
for f in ./**/*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done

Eğer ogg dosyalarında falan flacs var, belli ki değiştirmek ./*.flaciçin ./*.ogg.

Medibuntu sürümü yüklü olsa da, bu havuzlardan avconv / ffmpeg ile çalışmalıdır (ALAC Apache lisansı altında yayınlandığından ve yasal olarak dağıtılabildiğinden).

Orijinal dosyalardan kurtulmak istiyorsanız rm, döngüye koyabilirsiniz . Bu sürüm -navconv için bayrağı kullanır , bu nedenle zaten var olan ALAC dosyalarının üzerine yazmaz ve &&bunun yerine; avconv bir hatayla durursa orijinal FLAC dosyasının silinmeyeceği anlamına gelir:

for f in ./*.flac; do avconv -n -i "$f" -c:a alac "${f%.*}.m4a" && rm "$f"; done

Rm ile dosyaları silmenin geri döndürülemez olduğuna dikkat edin (adli veri kurtarma dışında), bu yüzden kullanmaya dikkat edin.


Flac dosyasının alac kopyasını yapmak yerine flac dosyalarını alac olanlarla nasıl değiştireceğinizi biliyor musunuz?
user138784

@ user13 no, avconv / ffmpeg bunu yapamaz, girdi olarak kullandığı dosyaların üzerine yazamaz. İsterseniz rmorijinal dosyaları kaldırmak için kullanabilirsiniz .
13'te

Gerçekten bir komut satırı gurusu değilim (GNU / Linux için oldukça yeniyim), bu yüzden şimdiye kadar bunları elle kaldırdım. (nautilus, dosya türüne göre düzenleyin ve sonra o dizindeki tüm .flac dosyalarını seçip kaldırabilirim). Bu "rm" -şeyin nasıl çalıştığına bir göz atacağım. :)
user138784

@ user138 Bir uygulamayı göstermek için yanıtı düzenledim rm- uyarıyı dikkate alsanız da, rmgeri döndürülemez, dosyaları çöp kutusuna taşımak yerine siler. Başka bir alternatif globbing kullanmak olacaktır sonra döngü bittikten (Komut herhangi bir nedenle başarısız olursa ... herhangi bir sorun olmuştur ki kontrol edebilirsiniz, size orijinal kurtulmak istemem): rm -- *.flacHer kaldıracak Çalışma dizinindeki FLAC.
13'te

Tavsiye için teşekkürler! Normalde orijinal flac dosyalarını başka bir dizinde tutarım, bu yüzden onları kaybetme riski yoktur.
user138784
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.