MP4 / MOV फ़ाइल ट्रंकेटेड — रिकवरी गाइड
"ट्रंकेटेड" वीडियो फ़ाइल वह होती है, जिसे रिकॉर्डिंग के साफ़-सुथरे अंत से पहले ही काट दिया गया हो। तकनीकी परिभाषा: फ़ाइल में उसका इंडेक्स (MOOV एटम) मौजूद नहीं है और शायद उसमें आखिरी इन-प्रोग्रेस फ़्रेम के कुछ आखिरी बाइट मौजूद नहीं हैं। कार्यात्मक परिभाषा: यह आपकी डिस्क पर सही आकार की दिखती है, लेकिन QuickTime / Premiere / Resolve में खुलती नहीं है और जाँचे जाने पर इसकी अवधि शून्य (या कोई अजीब संख्या) दिखती है।
ट्रंकेटेड फ़ाइलें वीडियो करप्शन की सबसे ज़्यादा रिकवर की जा सकने वाली श्रेणी हैं। बुरी खबर: उपभोक्ता-स्तर के ज़्यादातर "MP4 रिपेयर" टूल उन्हें ठीक से हैंडल नहीं कर पाते। अच्छी खबर यह है कि हमारा इंजन और 'untrunc' जैसे टूल ठीक इसी समस्या के लिए बनाए गए थे।
ट्रंकेशन वास्तव में कैसा दिखता है
एक सामान्य MP4 / MOV फ़ाइल एक फ़ाइनलाइज़्ड MOOV एटम से खत्म होती है, जो 'mdat' में मौजूद सभी चीज़ों को इंडेक्स करता है। एक ट्रंकेटेड फ़ाइल लिखने के बीच में खत्म हो जाती है:
[ftyp] ← container declaration, intact
[mdat] ← frames + audio interleaved
↓ truncation point — recording stopped here
[the next bytes — partial frame, partial atom, or just EOF]
← MOOV that should be here doesn't exist
तीन सामान्य पैटर्न:
- बिजली चले जाने / कार्ड निकलने की वजह से ट्रंकेशन। सबसे आम। 'mdat' मिड-फ़्रेम पर खत्म होता है; कोई MOOV नहीं; फ़ाइल अन्यथा साफ़-सुथरी है।
- फ़ाइलसिस्टम एरर ट्रंकेशन। किसी खराब सेक्टर ने फ़ाइल के एक हिस्से को शून्य कर दिया या फ़ाइलसिस्टम आखिरी ब्लॉक लिखने में नाकाम रहा। 'mdat' में एक छेद हो सकता है, लेकिन इसके अलावा यह बिल्कुल सही-सलामत है।
- कॉपी करने में हुई गड़बड़ी की वजह से ट्रंकेशन। फ़ाइल को आंशिक रूप से SD कार्ड / SSD से कॉपी किया गया था और कॉपी विफल हो गई। डेस्टिनेशन ड्राइव पर मौजूद "टूटी हुई" फ़ाइल दरअसल एक ऐसे सोर्स की आंशिक कॉपी है, जो इसके अलावा ठीक-ठाक है।
किसी भी रिकवरी से पहले कारण #3 की जाँच करना ज़रूरी है: फ़ाइल को मूल स्रोत से फिर से कॉपी करने की कोशिश करें. अगर ओरिजिनल फ़ाइल अभी भी SD कार्ड / SSD पर मौजूद है और वहाँ मौजूद फ़ाइल सही-सलामत है, तो आपने 60 सेकंड में समस्या हल कर ली है।
"अवधि शून्य दिखाई देती है" का वास्तव में क्या मतलब है
जब QuickTime या VLC रिकॉर्डिंग की अवधि 0:00 या किसी असंभव रूप से लंबे मान (जैसे 4:32:18:35) के रूप में दिखाता है, तो इसका लगभग हमेशा यही मतलब होता है कि अवधि MOOV के अंदर मौजूद किसी गायब या खराब 'mvhd' (मूवी हेडर) से पढ़ी जा रही है। वैध MOOV के बिना, कोई वैध अवधि नहीं होती। फ़्रेम अभी भी 'mdat' में मौजूद हैं — बस प्लेयर को यह मालूम नहीं है कि वीडियो कितना लंबा है।
आप खुद क्या आज़मा सकते हैं
1. सोर्स से फिर से कॉपी करें
यह स्पष्ट लगता है। अक्सर इसे अनदेखा कर दिया जाता है। अगर ओरिजिनल फ़ाइल अभी भी SD कार्ड / SSD पर मौजूद है, तो उसे किसी दूसरी ड्राइव पर फिर से कॉपी करने की कोशिश करें। 'cp' (या rsync, या फ़ाइंडर कॉपी) की मदद से बनाई गई नई कॉपी कभी-कभी एक ऐसी फ़ाइल बना देती है, जो काम करती है, जबकि पिछली कॉपी खराब थी।
2. 'untrunc'
'untrunc' — ओपन-सोर्स — का नाम इसी फ़ेल्योर मोड के नाम पर रखा गया था। इसके लिए उसी कैमरे से उसी रिकॉर्डिंग मोड में बनाई गई एक स्वस्थ रेफ़रेंस फ़ाइल की ज़रूरत होती है। क्विक कमांड:
untrunc reference.mov broken.mov
'broken.mov_fixed.mov' बनाता है। इसे खोलने की कोशिश करें। जब रेफ़रेंस उपलब्ध हो, तो यह कारण #1 (साफ़ ट्रंकेशन, कोई होल नहीं) के लिए बेहतरीन है।
3. FFmpeg ignore-errors re-mux
ffmpeg -err_detect ignore_err -i broken.mp4 -c copy out.mp4
कभी-कभी कारण #2 (फ़ाइलसिस्टम में होल) पर काम करता है, जिसके लिए पिछले अनरीडेबल सेक्शन को स्किप किया जाता है।
4. आंशिक आखिरी फ़्रेम हटा दें
अगर 'untrunc' या हमारे टूल शिकायत करते हैं कि आखिरी फ़्रेम अधूरा है, तो एक मैन्युअल तरीका अपनाया जा सकता है: फ़ाइल के आखिर से कुछ सौ MB काट दें और फिर से कोशिश करें। ट्रिम की गई फ़ाइल के आखिरी एक या दो सेकंड नहीं रहते, लेकिन उसकी संरचना सही होती है। इसे ऑटोमेट करने वाले टूल (हमारे टूल सहित) आपके लिए यह काम करते हैं।
हमारा रिकवरी टूल ट्रंकेशन को कैसे हल करता है
- सिक्स-पास डायग्नोस्टिक यह पहचानता है कि फ़ाइल साफ़-सुथरे तरीके से ट्रंकेट की गई है (कारण #1), उसमें आंतरिक होल हैं (कारण #2) या वह आंशिक रूप से कॉपी की गई है (कारण #3)।
- 'mdat' का फ़्रेम-लेवल स्कैन आखिरी पूरे फ़्रेम का पता लगाने के लिए, किसी भी आंशिक ट्रेलिंग फ़्रेम की सुरक्षित तरीके से ऑटोमैटिक ट्रिमिंग।
- देखे गए फ़्रेमों से MOOV सिंथेसिस — किसी रेफ़रेंस क्लिप की ज़रूरत नहीं।
- 4 GB से ज़्यादा आकार वाली फ़ाइलों के लिए 'co64' ताकि रीबिल्ट इंडेक्स में ऑफ़सेट ओवरफ़्लो से बचा जा सके।
- चंक-साइज़ डॉमिनेंस फ़िल्टरिंग के साथ ऑडियो रिकवरी (आउटलायर चंक्स को छोड़ दें, रिकॉर्डिंग को सुसंगत रखें)।
- कारण #2 के लिए होल डिटेक्शन: अगर फ़ाइल के बीच में शून्य से भरा हुआ सेक्शन है, तो हम उसकी पहचान करते हैं, डेड रेंज को छोड़ देते हैं और उसके आस-पास रीबिल्ड करते हैं। रिकवर की गई फ़ाइल में होल वाली जगह पर एक छोटा-सा गैप या स्टटर हो सकता है, लेकिन बाकी फ़ाइल प्ले होगी।
आपको क्या करना है
- सबसे पहले: अगर आपके पास सोर्स फ़ाइल अभी भी मौजूद है, तो उससे फिर से कॉपी करने की कोशिश करें। मुफ़्त, तेज़, अक्सर यही समाधान होता है।
- अगर फ़ाइल वाकई कटी-छँटी है और दुबारा कॉपी करने से काम नहीं बनता, तो: उसे अपलोड करें. 50 GB तक।
- ~1 मिनट बाद आपको 5 सेकंड का मुफ़्त प्रीव्यू मिलेगा।
- सिर्फ़ तभी भुगतान करें, जब प्रीव्यू काम करे।
FAQ
मेरी फ़ाइल सही फ़ाइल साइज़ दिखाती है, लेकिन उम्मीद से कम समय तक चलती है। यह एक अलग तरह की विफलता है — रिकॉर्डिंग शायद फ़ाइनलाइज़ हो गई थी, लेकिन प्ले-बैक की अवधि रिकॉर्ड की गई अवधि से कम है। अक्सर यह 'mvhd' टाइमस्केल की समस्या होती है, कभी-कभी 'stts' का फ़ॉर्मेट गलत होता है। रिकवर किया जा सकता है; इसे डायग्नोस्टिक के लिए अपलोड करें।
मेरी फ़ाइल पहले 10 सेकंड तक चलती है और फिर प्लेयर क्रैश हो जाता है। सबसे ज़्यादा संभावना है कि इसका कारण #2 (मिड-फ़ाइल होल) हो। शुरुआती 10 सेकंड 'mdat' में बिना किसी समस्या के चलते हैं; प्लेयर को होल मिल जाता है और वह आगे नहीं बढ़ पाता। रिकवरी उस होल के इर्द-गिर्द फिर से निर्माण करती है।
'untrunc' विफल हो गया, क्योंकि मेरे पास रेफ़रेंस क्लिप नहीं है। हमारी जैसी सेवा का इस्तेमाल करने का सामान्य कारण। हमें रेफ़रेंस की ज़रूरत नहीं है — हम सीधे खराब फ़ाइल के फ़्रेम से कोडेक पैरामीटर निकालते हैं।
मेरी फ़ाइल एक ऐसे SD कार्ड से है, जिसे मिटाकर फिर से रिकवर किया गया था। क्या इसे अभी भी रिकवर किया जा सकता है? कार्ड-रिकवरी टूल कभी-कभी मिश्रित-स्रोत डेटा वाली फ़ाइलें वापस लाते हैं (मूल रिकॉर्डिंग के बाइट्स और बाद की रिकॉर्डिंग के बाइट्स, जो उसके ऊपर ओवरराइट किए गए हैं)। ये ज़्यादा गड़बड़ वाली होती हैं। अपलोड के समय की जाने वाली जाँच से हमें पता चलता है कि इसे ठीक किया जा सकता है या नहीं।
फ़ाइल गलत अवधि दिखाती है, लेकिन सही तरीके से चलती है। बस मेटाडेटा को ठीक करने की ज़रूरत है — 'ffmpeg -i input.mp4 -c copy out.mp4' आमतौर पर री-मक्स के दौरान अवधि को सही तरीके से फिर से लिख देता है। किसी सशुल्क रिकवरी की ज़रूरत नहीं है।
क्या मेरी फ़ुटेज सुरक्षित है? सर्वर फ़्रांस में है, 48 घंटे बाद ऑटो-डिलीट हो जाता है, किसी भी चीज़ को ट्रेन करने के लिए कभी इस्तेमाल नहीं किया जाता या शेयर नहीं किया जाता। निजता नीति।
संबंधित
- MOOV atom नहीं मिला (कैनोनिकल ट्रंकेशन का कारण)
- इनपुट प्रोसेस करते समय अमान्य डेटा मिला
- हमारा रिकवरी इंजन कैसे काम करता है
मुफ़्त प्रीव्यू · कोई प्रतिबद्धता नहीं
क्या आप अपना वीडियो रिकवर करने के लिए तैयार हैं?
अपनी फ़ाइल अपलोड करें। लगभग एक मिनट में 5-सेकंड का मुफ़्त प्रीव्यू पाएँ। अगर प्रीव्यू सही लगता है, तो ही भुगतान करें।
अपना वीडियो अपलोड करें →