क्या Apple दोषरहित ऑडियो को FLAC में परिवर्तित किया जा सकता है जिससे निष्ठा का कोई नुकसान न हो?


19

क्या Apple लॉसलेस ऑडियो फाइल्स (ALAC) को FLAC ऑडियो फाइल्स में बदला जा सकता है जिसमें कोई निष्ठा नहीं है?


2
संक्षिप्त उत्तर 'हां' (जैसा कि स्लॉक ने कहा)। सवाल यह है कि क्या आप ऐसा करने के लिए एक उपकरण की तलाश कर रहे हैं, या यह पूछते हुए कि क्या आप एक दोषरहित प्रारूप को परिवर्तित कर सकते हैं, दोषरहित दूसरे दोषरहित प्रारूप में?
जर्नीमैन गीक

जवाबों:


37

हां, यह देखते हुए कि दोनों गणितीय रूप से दोषरहित हैं, रूपांतरण दोषरहित भी है।

इसका कारण यह है कि एक FLAC / ALAC फ़ाइल के डिकोड होने पर सिग्नल को हमेशा उसके मूल रूप में फिर से संगठित किया जा सकता है। इस प्रकार, वे समतुल्य हैं और आपको कई बार ट्रांसकोडिंग करते समय भी कोई नुकसान का अनुभव नहीं करना चाहिए।

एकमात्र त्रुटि जिसकी मैं कल्पना कर सकता था वह एक अंकगणितीय होगी, उदाहरण के लिए गणना में सीमित फ्लोटिंग पॉइंट परिशुद्धता के माध्यम से। मुझे नहीं लगता कि यह FLAC या ALAC पर लागू होता है।

यदि आप केवल "मनोविश्लेषणात्मक" दोषरहित कोडेक का उपयोग करते हैं, तो यह संभव नहीं है। एक मनोविश्लेषक अर्थ में दोषरहित का अर्थ होगा कि आप मूल और संकुचित संस्करण को अलग नहीं कर सकते, फिर भी वे एक दूसरे से बहुत अलग हैं। एमपी 3 या एमपीईजी -4 एएसी इसे प्राप्त करने के लिए विभिन्न मनोविश्लेषण तकनीकों का उपयोग करते हैं। इस प्रकार, जब ट्रांसकोडिंग, मूल संस्करण को फिर से संगठित नहीं किया जा सकता है और आपको गुणवत्ता का नुकसान होगा।


यदि आप ALAC को FLAC में बदलना चाहते हैं, ffmpegतो यह एक अच्छा विकल्प होगा, क्योंकि यह लगभग हर प्लेटफ़ॉर्म के लिए मुफ़्त और उपलब्ध है।

ffmpeg -i audio.m4a -c:a flac audio.flac

FFmpeg मुद्दों के बिना ALAC पढ़ेगा। * Nix सिस्टम के लिए, Convert to FLAC नामक एक स्क्रिप्ट भी है जो पूरी प्रक्रिया को आसान बनाती है। बैश के साथ आप बस एक ही निर्देशिका में सभी फ़ाइलों को परिवर्तित कर सकते हैं:

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

नोट: यदि आपको ffmpegपदावनत होने का संदेश मिलता है , तो वास्तव में ऐसा नहीं है - यह अभी भी एक सक्रिय रूप से विकसित कार्यक्रम है। हालाँकि, उबंटू के पैकेज मेंटेनर्स ने सिर्फ FFmpeg के लिबव कांटे पर स्विच करने का फैसला किया और इस तरह से आपको avconvइसकी आपूर्ति की गई ffmpegffmpeg उबंटू पर उपलब्ध संस्करण इसलिए पुराना है। आप इसके बजाय एक स्थिर बिल्ड डाउनलोड करके या इसे स्वयं संकलित करके हाल ही में एक प्राप्त कर सकते हैं । अधिक जानकारी के लिए पढ़ें: जो मुझे ffmpeg, libav और avconv के बीच अंतर और संबंध बता सकता है


2
Superuser.com/a/277358/45914 के आधार पर , आप पूरी निर्देशिका को परिवर्तित करने के लिए निम्न कार्य कर सकते हैं: for f in *.m4a; do ffmpeg -i "$f" -acodec flac "${f%.m4a}.flac"; done यह लिनक्स पर काम करता है, लेकिन उदाहरण के लिए विंडोज पर Git बैश में भी।
Ruud

1
@RuudvA ने कहा कि ffmpeg का उपयोग करते हुए, काम करता है, लेकिन मुझे एक संदेश देता है जो कहता है: *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Aconv का उपयोग करने के लिए, इसके बजाय ऐसा करें: for f in *.m4a; do avconv -i "$f" "${f%.m4a}.flac"; done
डंकन लॉक

XLD OSX के लिए एक और अच्छा है।
अरन कडबार्ड-बेल

3

विंडोज सीएमडी के लिए आप कर सकते हैं।

@for /R %%x in (*.m4a) do ffmpeg -i "%%x" -acodec flac "%%~dpnx.flac"

(बैच स्क्रिप्ट)

(यह रिकर्सन (हर फोल्डर और उसके तहत जहां से चलाया जाएगा) करेगा)


1

यदि आपके पास एक मैक है (चूंकि आपके पास ALAC फाइलें हैं), तो आप रूपांतरण करने के लिए और ALAC / FLAC या कई अन्य प्रारूपों के लिए खुले स्रोत सॉफ़्टवेयर मैक्स का उपयोग अच्छे दृश्य के रूप में भी कर सकते हैं।


2
एक और अच्छा XLD है।
नथानिएल

1

Powershell में Windows के लिए (ffmpeg का उपयोग करके) आप एलेक को फ्लैक में बदलने के लिए कर सकते हैं:

Get-ChildItem . -filter *.m4a| ForEach-Object { ffmpeg -i "$_" -acodec flac "$($_.basename).flac" }

और इसके विपरीत alac में बदलने के लिए ऐसा करते हैं

Get-ChildItem . -filter *.flac | ForEach-Object { ffmpeg -i "$_" -acodec alac $($_.basename).m4a" }

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.