मैं अपने FLAC संगीत संग्रह को Apple दोषरहित में कैसे बदल सकता हूं?


13

मेरे पास एक उचित आकार का संगीत संग्रह है जिसे मैं अपने Ubuntu लैपटॉप पर FLAC प्रारूप में रखता हूं। मैं इस संगीत को अपने मैक पर बजाना शुरू करना चाहता हूं, और इसे वहां से अपने iPod पर सिंक करना चाहता हूं। लोगों ने सुझाव दिया है कि ऐसा करने का सबसे अच्छा तरीका मेरे संग्रह को ALAC में बदलना है, और मैंने फैसला किया है कि मैं क्या करना चाहता हूं।

इससे पहले कि मैं अंदर जाऊं और कस्टम शेल स्क्रिप्ट लिखूं जो ffmpegकुछ जटिल findकमांड के माध्यम से कॉल करें , मुझे लगा कि मैं सलाह मांगूंगा।

ऑडियो क्वालिटी के किसी भी नुकसान के बिना और मेटाडेटा के संरक्षण के बिना मैं अपने मौजूदा FLAC संग्रह को ALAC में कैसे बदल सकता हूं?


हुह। मैं आश्चर्यचकित हूँ। मैंने सोचा था कि ट्रांसकोडिंग टूल के लिए एक स्पष्ट विकल्प होगा, लेकिन सभी जो मुझे मिल सकते हैं वे वीडियो पर केंद्रित हैं।
RAF

मैं यहाँ क्या कर रहा था, एक कस्टम पायथन स्क्रिप्ट लिख रहा था, जिसे मेटाफ़्लैक, ffmpeg और AtomicParsley कहा जाता था।
jml

जवाबों:


21

avconv (या ffmpeg, जो avconv का कांटा है) कमांड लाइन से ऐसा कर सकते हैं:

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

इसे मेटाडेटा को स्वयं संरक्षित करना चाहिए।

एक निर्देशिका में हर flac करने के लिए:

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

प्रत्येक फ्लैक को पुनरावर्ती रूप से करने के लिए (वर्तमान निर्देशिका और सभी उप-निर्देशिकाओं में):

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

यदि आपको ogg फ़ाइलों या कुछ और में flacs मिला है, तो स्पष्ट रूप से बदल ./*.flacदें ./*.ogg

मुझे लगता है कि यह एवोकॉन / एफएफएमपी के साथ रिपॉजिटरी से काम करना चाहिए (क्योंकि एएसीएसी अपाचे लाइसेंस के तहत जारी किया गया है, और कानूनी रूप से वितरित किया जा सकता है), हालांकि मेरे पास मेडिबंटू से संस्करण स्थापित है।

यदि आप मूल फ़ाइलों से छुटकारा पाना चाहते हैं, तो आप rmलूप में डाल सकते हैं । इस संस्करण का उपयोग करता है -navconv के लिए झंडा, तो यह किसी भी पहले से मौजूद ALAC फ़ाइलों को अधिलेखित नहीं होगा, और का उपयोग कर &&के बजाय; का मतलब है कि अगर एक त्रुटि के साथ avconv बंद हो जाता है तो मूल FLAC फ़ाइल को नहीं हटाया जाएगा:

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

ध्यान दें कि आरएम के साथ फाइलें हटाना अपरिवर्तनीय है (फोरेंसिक डेटा रिकवरी के बाहर), इसलिए इसका उपयोग करने में सावधानी बरतें।


क्या आप जानते हैं कि कैसे flac फाइल की alac कॉपी बनाने के बजाय, alac वालों द्वारा flac फाइलों को बदलना है?
user138784

@ user13 नहीं, avconv / ffmpeg ऐसा नहीं कर सकता, यह इनपुट के रूप में उपयोग की जाने वाली फाइलों को अधिलेखित नहीं कर सकता है। rmयदि आप चाहें, तो आप मूल फ़ाइलों को हटाने के लिए उपयोग कर सकते हैं ।
ईविल

मैं वास्तव में एक कमांड लाइन गुरु नहीं हूं (मैं GNU / लिनक्स के लिए काफी नया हूं), इसलिए अब तक मैं उन्हें मैन्युअल रूप से निकालता था। (नॉटिलस, टाइप करके फाइलों को व्यवस्थित करें, और फिर मैं उस निर्देशिका में अल .flac फ़ाइलों का चयन कर सकता हूं और उन्हें हटा सकता हूं)। मेरी नज़र इस बात पर होगी कि यह "rm" कैसे काम करता है। :)
user138784

@ user138 मैंने एक कार्यान्वयन को दिखाने के लिए उत्तर को संपादित किया है rm- हालांकि चेतावनी पर ध्यान दें, rmबहुत अपरिवर्तनीय है, यह फ़ाइलों को कचरा बिन में ले जाने के बजाय एकमुश्त हटा देता है। एक और विकल्प यह होगा कि लूप समाप्त होने के बाद ग्लोबिंग का उपयोग किया जाए (ताकि आप जांच सकें कि कोई समस्या नहीं है ... यदि कमांड किसी भी कारण से विफल हो गया, तो आप अपने मूल से छुटकारा नहीं चाहेंगे): rm -- *.flacहर कार्यशील निर्देशिका में FLAC।
ईविल

सलाह के लिए धन्यवाद! मैं आमतौर पर मूल फ्लैक फ़ाइलों को किसी अन्य निर्देशिका में रखता हूं, इसलिए उनके खोने का कोई जोखिम नहीं है।
user138784
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.