शब्दकोश

Duration क्या है?

Duration किसी ऑडियो या वीडियो फ़ाइल के चलने का कुल समय होता है। यहाँ बताया गया है कि फ़ाइलें इस मान को कैसे सहेजती हैं और क्यों 2 प्रोग्राम अलग-अलग संख्या दिखा सकते हैं।

duration

अवधि किसी चीज़ के चलने की कुल लंबाई होती है। किसी मीडिया फ़ाइल में अवधि से मतलब कुल चलने के समय से है। वीडियो अवधि से मतलब यह है कि वीडियो शुरू से अंत तक कितनी देर चलता है, और ऑडियो अवधि किसी गाने या रिकॉर्डिंग के लिए भी यही दर्शाती है।

आप आम तौर पर यह संख्या अपने मीडिया प्लेयर में कुल समय के रूप में देखते हैं। मेटाडेटा में यही जानकारी Duration नाम के फ़ील्ड में दिखती है।

कौन सी फाइलें इसे रखती हैं

अवधि उन फ़ाइलों से जुड़ी होती है जो समय के साथ चलती हैं, यानी ऑडियो और वीडियो फ़ाइलें। स्थिर फ़ोटो और टेक्स्ट दस्तावेज़ों में सामान्यत: कोई अवधि फ़ील्ड नहीं होता।

एनिमेटेड इमेज एक विशेष मामला हैं। GIF फ़ाइल प्रत्येक फ़्रेम के लिए देरी को स्टोर करती है, कुल समय को नहीं। फिर भी ExifTool एनीमेशन के एक पास के लिए Duration दिखाता है।

मूल्य कहाँ से आता है

कुछ फ़ॉर्मेट लंबाई को सीधे स्टोर करते हैं। दूसरे फ़ॉर्मेट ऐसे मान स्टोर करते हैं जिनका उपयोग सॉफ़्टवेयर लंबाई निकालने के लिए करता है।

  • MP4 और MOV: मूवी हेडर एक टाइम स्केल और एक अवधि स्टोर करता है। टाइम स्केल प्रति सेकंड समय इकाइयों की संख्या है, और अवधि उन इकाइयों की गिनती है।
  • MKV और WebM: सेगमेंट जानकारी में एक वैकल्पिक Duration एलिमेंट हो सकता है, जो टिक्स में गिना जाता है। सामान्यत: एक टिक एक मिलीसेकंड होता है।
  • MP3: ID3 टैग में TLEN फ़्रेम हो सकता है, जिसमें लंबाई मिलीसेकंड में होती है। ExifTool लंबाई को अन्य मानों से निकालता है, जैसे फ़ाइल आकार और बिट रेट।
  • FLAC: फ़ाइल कुल सैंपलों की संख्या और सैंपल रेट को स्टोर करती है। सॉफ़्टवेयर लंबाई इन 2 मानों से निकालता है, और 0 का कुल मतलब होता है कि संख्या अज्ञात है।
  • WAV: ExifTool लंबाई को औसत बाइट प्रति सेकंड और फ़ाइल आकार से निकालता है।

मूल्य कैसे दिखते हैं

एक ही लंबाई अलग रूप में दिख सकती है, यह इस पर निर्भर करता है कि फ़ाइल को कौन सा प्रोग्राम पढ़ रहा है:

  • 00:05:15: घंटे, मिनट और सेकंड। यह फ़ाइल 5 मिनट 15 सेकंड तक चलती है।
  • 15.23 s: सेकंड, साथ में इकाई भी दिखती है।
  • 200.541000: बिना इकाई वाली संख्या। FFmpeg प्रोजेक्ट के ffprobe प्रोग्राम में अवधि इसी तरह प्रिंट होती है, दशमलव के बाद 6 अंक के साथ। यह संख्या 200.541 सेकंड है, यानी लगभग 3 मिनट 21 सेकंड।
  • N/A: अपने डिफ़ॉल्ट आउटपुट फ़ॉर्मेट में, ffprobe तब यह दिखाता है जब अवधि मौजूद न हो। JSON और XML आउटपुट फ़ॉर्मेट इसके बजाय अवधि को शामिल ही नहीं करते।

बिना इकाई वाली संख्या हमेशा सेकंड में नहीं होती। TLEN फ़्रेम मिलीसेकंड गिनता है, और ffprobe में duration_ts मान स्ट्रीम के टाइम बेस की इकाइयाँ गिनता है। देखें कि यह संख्या आपको किस फ़ील्ड से मिली है।

क्यों प्रोग्राम अलग-अलग अवधि दिखा सकते हैं

एक ही फ़ाइल के लिए अलग-अलग प्रोग्राम अलग अवधि दिखा सकते हैं, और ज़रूरी नहीं कि कोई भी प्रोग्राम गलत हो। इसके 4 कारण हैं:

  • राउंडिंग: जो प्लेयर केवल पूरे सेकंड दिखाता है, वह 200.541 को ऊपर या नीचे राउंड करता है।
  • अलग ट्रैक: तस्वीर और आवाज़ के अलग-अलग ट्रैक होते हैं, और हर ट्रैक की अपनी अवधि होती है। MOV फ़ाइल में मूवी अवधि सबसे लंबे ट्रैक के बराबर होती है।
  • स्टार्ट टाइम: प्रत्येक स्ट्रीम का अपना स्टार्ट टाइम हो सकता है। FFmpeg सबसे पहले शुरू होने से लेकर सबसे बाद में खत्म होने तक माप सकता है, इसलिए देर से शुरू होने वाला हिस्सा कुल अवधि को बढ़ा सकता है।
  • अनुमान: किसी फ़ाइल में बिट रेट हो सकता है लेकिन अवधि न हो। तब FFmpeg बिट रेट और फ़ाइल आकार से अवधि का अनुमान लगाता है, और चेतावनी देता है कि परिणाम सटीक न भी हो सकता है।

यह क्यों महत्वपूर्ण है

अवधि आपको फ़ाइल को चलाए बिना जांचने देती है। अगर आप 5 मिनट 15 सेकंड के क्लिप की उम्मीद कर रहे हैं और आपको 15.23 s दिखता है, तो संभव है कि यह वह फ़ाइल न हो जो आप चाहते थे।

अवधि दूसरे मानों से भी जुड़ी होती है। FFmpeg फ़ाइल के आकार और अवधि से कुल बिट रेट निकाल सकता है।

मेटा कीज़