ऑडियो फ़ाइलों को सुरक्षित और ट्रांसकोड करने के लिए, यह वह वर्कफ़्लो है जिसका आप अनुसरण करना चाहते हैं:
- WAV / PCM डेटा के लिए इनपुट ऑडियो फ़ाइलों को डीकोड करें,
- कॉनवेटनेट WAV,
- ऑडियो कोडेक फ़ाइल आउटपुट के लिए WAV एनकोड करें।
इन चरणों में प्रसंस्करण WAV डेटा पर संगति करता है, जो कम से कम नुकसान से निपटने के लिए सबसे आसान है। और चूंकि आप किसी भी तरह से ट्रांसकोड करना चाहते हैं, तो आपको इस प्रक्रिया में कहीं WAV को डिकोड करना होगा; साथ ही इसका लाभ उठा सकते हैं।
मेरे द्वारा सुझाए गए चरण यहां दिए गए हैं। हम ffmpeg
डिकोडिंग के लिए उपयोग करेंगे , sox
संघनन के लिए, और oggenc
एन्कोडिंग के लिए। आप किसी भी कदम के लिए अन्य उपकरणों को स्थानापन्न कर सकते हैं - mencoder
और अन्य डिकोडर के रूप में ठीक काम करते हैं, और ओग को एनकोड करने वाले किसी भी उपकरण को एनकोडर के रूप में इस्तेमाल किया जा सकता है - हालांकि मुझे लगता है कि आपके लिए बेहतर टूल खोजने के लिए आपको मुश्किल से दबाया जाएगा sox
। संयोजन।
find *.wma -exec ffmpeg -i {} outfile.{}.wav \;
(यह ffmpeg -i infile.wma outfile.infile.wma
वर्तमान निर्देशिका में प्रत्येक WMA फ़ाइल पर चलता है )
sox outfile* all.wav
(नोट outfile
वही उपसर्ग है जिसे हमने चरण 1 में आउटपुट फाइल दिया था)
oggenc all.wav all.ogg
आप शायद यहाँ कुछ गुणवत्ता सेटिंग्स चाहते हैं, लेकिन यह सभ्य गुणवत्ता की चूक देगा। मुझे ऐसे परिणाम नहीं मिले जो मुझे पसंद थे ffmpeg
, लेकिन आप इसे पसंद कर सकते हैं, इसलिए मैंने नीचे ffmpeg के साथ एक उदाहरण शामिल किया है।
ध्यान दें कि sox
कमांड तब तक ठीक से काम नहीं करेगा जब तक कि सभी WAV फाइलें एक ही प्रारूप की न हों - यदि कुछ 22kHz की हैं और कुछ 44.1kHz की हैं, उदाहरण के लिए, आपको sox
कमांडलाइन स्विच के माध्यम से उन्हें पहचानने की आवश्यकता है , और निर्दिष्ट करें कि आप कौन सा प्रारूप चाहते हैं। उत्पादन में, मैं किसी भी कमांडलाइन उपकरण को नहीं जानता, जैसे sox
कि समवर्ती चरण के लिए सक्षम । आप संभवतः चरण 1 में एक कच्चे पीसीएम प्रारूप में आउटपुट कर सकते हैं और cat
चरण 2 के लिए उपयोग कर सकते हैं , लेकिन यह केवल तभी काम करेगा जब वे एक ही प्रारूप में हों, और आपको अपने डिकोडर और एनकोडर दोनों के लिए अत्यंत विशिष्ट होने की आवश्यकता होगी प्रारूप वे उम्मीद करनी चाहिए।
Ffmpeg के साथ एन्कोडिंग: 'नेट शिकायत के चारों ओर बहुत सारे पोस्ट जो कि ffmpeg के बिल्डिन वॉर्बिस एनकोडर के लिए बहुत अच्छा नहीं है। यदि आपका संस्करण libvorbis समर्थन के साथ बनाया गया है, तो -acodec libvorbis
इसके बजाय उपयोग करें । नमूना कमांडलाइन:
ffmpeg -i all.wav -acodec libvorbis -ac 2 -ab 128k all.ogg