2011-06-03 5 views
22

मेरा एक दोस्त सिर्फ दो एमपी 3 फाइलें, श्रेणीबद्ध करने के लिए सादे पुराने cat इस्तेमाल किया ...एमपी 3 फ़ाइलों में शामिल होने के लिए बिल्ली का उपयोग करना। यह काला जादूगर क्या है?

cat file1.mp3 file2.mp3 > out.mp3 

... और परिणामी फ़ाइल पूरी तरह से प्रतिलिपि प्रस्तुत करने योग्य है, एक गीत और खेल रहा तो अगले।

यह काला जादू क्या है? हेडर, मेटाडेटा के साथ क्या हुआ? यह कैसे काम कर सकता है? अवधि भी सही ढंग से प्रदर्शित होती है।

उत्तर

10

एक एमपी 3 फ़ाइल कच्चे एमपीईजी 2-लेयर 3 (ऑडियो) स्ट्रीम डेटा से अधिक कुछ नहीं है, उदाहरण के लिए, अवधि, मूल स्रोत, एन्कोडिंग जानकारी के साथ कोई फ़ाइल स्तर शीर्षलेख संरचना नहीं है। एक एमपी 3 स्ट्रीम एक सिंक्रनाइज़ेशन मार्कर एफएफ एफएक्स से शुरू होने वाले ब्लॉक से बना है, इसलिए आईडी 3 टैग जैसे मनमाने ढंग से डेटा को कहीं भी रखा जा सकता है और ऑडियो को प्रभावित नहीं करेगा। खिलाड़ी या तो बिटरेट और फ़ाइल आकार से अनुमान लगाते हैं यदि आईडी 3 टैग इस जानकारी को सूचीबद्ध नहीं करते हैं या फ़ाइल की पूरी स्कैन को सटीक रूप से गणना करने के लिए करते हैं।

+0

हाँ - एमपी 3 फ़ाइलें अजीब हैं कि वे बिना किसी encapsulation के कच्चे स्ट्रीम हैं। एक सुधार: वे आमतौर पर एमपीईजी 1-लेयर 3 होते हैं। –

+0

@ जॉन: ओह? मैंने हमेशा एमपीईजी 2 सुना है, क्योंकि यह 'वर्तमान' एमपी 3 है? या मैं बस पागल हूँ? –

+0

एमपीईजी-संख्या वास्तव में संस्करण नहीं हैं - वे केवल मानक हैं कि वृद्धि। इस मामले में, एमपीईजी -2 एमपीईजी -1 ऑडियो मानक को कुछ कम बिट्रेट्स के साथ बढ़ाता है, और अजीब तरह से इसके साथ पूरी तरह से ओवरलैप नहीं होता है - यह उच्च बिटरेट की अनुमति नहीं देता है। तो 128kbit पर अधिकांश लोग क्या उपयोग कर रहे हैं वास्तव में एमपीईजी -1 लेयर -3 है। दूसरे जवाब में 'एमपी 3 हेडर' लिंक देखें। –

9

यह मत भूलना कि खिलाड़ियों को आम तौर पर variable bitrate एन्कोडिंग को संभालने के लिए तैयार किया जाता है, इसलिए प्रत्येक फ्रेम को अलग-अलग बिटरेट होने के लिए उत्तरदायी होता है।

मेटाडाटा के लिए, यह एक विषम बतख है; भले ही id3 tags दोनों पटरियों से नई फाइल में शामिल किया जाएगा, लेकिन अधिकांश खिलाड़ी केवल उपयोगकर्ता को प्रदर्शित करने के लिए फ़ाइल के अंत पर टैग ढूंढने जा रहे हैं, और बस एम्बेड किए गए टैग को बीच में छोड़ दें फ़ाइल 'ज्ञात संगीत' के रूप में जाना जाता है। कुछ कचरा या दुर्घटना खेल सकते हैं, लेकिन मुझे संदेह है कि वे उस भंगुर होने पर लोकप्रिय होंगे।

और ध्यान दें कि mp3 headers कुल फ़ाइल आकार के बारे में किसी भी जानकारी को एन्कोड न करें - यह सब रनटाइम पर गणना की जाती है। (शायद जादू के माध्यम से।)

जब मैं स्ट्रीमिंग रेडियो स्टेशनों को सुनकर जर्मन सीखने की कोशिश कर रहा था, तो मैंने अक्सर dd का उपयोग करके विशाल धाराओं को अलग करने के लिए इस्तेमाल किया था, यह अनुमान लगाकर कि मैं कितना ट्रैक शुरू करना चाहता था और कटौती करना चाहता था .. सुरुचिपूर्ण, लेकिन फिर से एन्कोडिंग नहीं, और मेरे खिलाड़ी ने इसे ठीक से संभाला।

संबंधित मुद्दे