प्रोब स्कोर का मतलब है कि किसी फ़ाइल के कंटेनर फ़ॉर्मेट के बारे में FFmpeg को कितनी पक्की जानकारी है। FFmpeg एक मल्टीमीडिया फ़्रेमवर्क है जो ऑडियो और वीडियो फ़ाइलें पढ़ता और कन्वर्ट करता है, और इसका प्रोग्राम ffprobe यही स्कोर दिखाता है।
स्कोर 0 से 100 के बीच एक पूरा अंक होता है, और बड़ा अंक मजबूत मेल दिखाता है। यह स्कोर केवल कंटेनर फ़ॉर्मेट का वर्णन करता है, जैसे MKV या MP4। यह स्कोर आवाज़ या तस्वीर की गुणवत्ता नहीं मापता।
मूल्य कहाँ से आता है
प्रोब स्कोर आपकी फ़ाइल में सेव नहीं होता। FFmpeg हर बार फ़ाइल खोलने पर यह संख्या दोबारा निकालता है।
FFmpeg के पास कई फ़ॉर्मेट के लिए छोटे डिटेक्टर होते हैं। हर डिटेक्टर फ़ाइल की शुरुआत पढ़ता है, अपने फ़ॉर्मेट के संकेत ढूंढता है, और एक स्कोर लौटाता है। जिस फ़ॉर्मेट का स्कोर सबसे ज़्यादा होता है, वही चुना जाता है।
FFmpeg 2048 बाइट डेटा से शुरू करता है। अगर किसी भी फ़ॉर्मेट का स्कोर 25 से ऊपर नहीं जाता, तो FFmpeg डेटा की मात्रा दोगुनी कर के फिर कोशिश करता है।
डिफ़ॉल्ट सीमा 1,048,576 बाइट है, यानी लगभग 1 MB। आख़िरी कोशिश पर 0 से बड़ा कोई भी स्कोर काफ़ी होता है।
अगर इनपुट ऐसा MIME type बताता है जो किसी फ़ॉर्मेट से मेल खाता है, तो उस फ़ॉर्मेट को 30 अतिरिक्त अंक मिलते हैं, अधिकतम 100 तक। अगर 2 फ़ॉर्मेट के सबसे ऊंचे स्कोर बराबर हों, तो FFmpeg दोनों को नामंज़ूर कर देता है। आख़िरी कोशिश के बाद भी अगर कोई फ़ॉर्मेट नहीं बचता, तो FFmpeg Invalid data found when processing input त्रुटि के साथ रुक जाता है।
फ़ाइल एक्सटेंशन स्कोर को कैसे प्रभावित करता है
उच्च प्रोब स्कोर यह साबित नहीं करता कि फ़ाइल एक्सटेंशन सही है। उदाहरण के लिए, Matroska डिटेक्टर फ़ाइल हेडर में पहचाने गए डॉक्युमेंट टाइप के लिए हमेशा 100 लौटाता है, भले ही फ़ाइल का नाम कुछ भी हो।
जब किसी फ़ॉर्मेट के पास डिटेक्टर होता है, तो मेल खाने वाला एक्सटेंशन आम तौर पर केवल 0 के स्कोर को बढ़ाकर 1 करता है। बिना डिटेक्टर वाला फ़ॉर्मेट एक्सटेंशन पर निर्भर करता है, और मेल होने पर उस फ़ॉर्मेट को 50 का स्कोर मिलता है। संदिग्ध एक्सटेंशन की जांच के लिए, एक्सटेंशन की तुलना उस फ़ॉर्मेट नाम से करें जो ffprobe स्कोर के साथ दिखाता है।
मान कैसा दिखता है
-show_format विकल्प के साथ, ffprobe फ़ॉर्मेट सेक्शन में एक पंक्ति के रूप में स्कोर प्रिंट करता है: probe_score=100। ffprobe की XML रिपोर्ट में यही संख्या probe_score नाम के एट्रिब्यूट में रहती है।
सामान्य मान
ये उदाहरण FFmpeg 9.0 के सोर्स कोड से लिए गए हैं। अन्य वर्ज़न में अन्य संख्या आ सकती है, जैसे FFmpeg 8.1 में MP3 उदाहरण के लिए 51।
100: MP4 या MOV फ़ाइल, जिसमेंftypयाmoovनाम का सेक्शन हो100: Matroska या WebM फ़ाइल, जिसमें पहचाना गया डॉक्युमेंट टाइप हो100: FLAC फ़ाइल, जिसमें वैध स्ट्रीम जानकारी हो99: WAV फ़ाइल, जिसमें मानक RIFF हेडर हो52: MP3 फ़ाइल, जिसके शुरू में कम से कम 7 ऑडियो फ्रेम हों51: ADTS रूप में AAC फ़ाइल, जिसके शुरू में कम से कम 3 ऑडियो फ्रेम हों50: ऐसा फ़ॉर्मेट जिसकी कोई डिटेक्टर नहीं है, और जो केवल अपने एक्सटेंशन से मैच हुआ हो0: ऐसी फ़ाइल जिसका फ़ॉर्मेट-fविकल्प से जबरन सेट किया गया, इसलिए FFmpeg ने डिटेक्शन छोड़ दिया
यह आपकी फ़ाइल के लिए क्यों महत्वपूर्ण है
25 या उससे कम का डिटेक्टेड स्कोर चेतावनी का संकेत है, गलती का पक्का सबूत नहीं। तब FFmpeg एक संदेश प्रिंट करता है जिसमें misdetection possible शब्द होते हैं, जिसका मतलब है कि FFmpeg ने शायद गलत फ़ॉर्मेट चुन लिया हो।
50 के आसपास का स्कोर MP3 और AAC फ़ाइलों के लिए सामान्य है, क्योंकि उनके डिटेक्टर 52 से ज़्यादा नहीं लौटाते। इसलिए 51 या 52 का स्कोर यह नहीं बताता कि आपकी MP3 फ़ाइल में कोई समस्या है।
25 या उससे कम के डिटेक्टेड स्कोर के लिए, FFmpeg डेवलपर डॉक्युमेंटेशन ज़्यादा डेटा के साथ दोबारा कोशिश करने की सलाह देता है। -formatprobesize विकल्प फ़ॉर्मेट डिटेक्शन की सीमा बाइट में सेट करता है। -probesize और -analyzeduration विकल्प अलग काम करते हैं: वे उस डेटा को सीमित करते हैं जिसे FFmpeg स्ट्रीम विवरण ढूंढने के लिए पढ़ता है।