2011-12-15 6 views
9

मैं एमपी 4 फाइलों का निरीक्षण करने के लिए एक उपकरण लिख रहा हूं (उर्फ आईएसओ बेस मीडिया फ़ाइल प्रारूप, आईएसओ 14496 भाग 12)।एमपी 4/आईएसओ 14496-12: आप वीडियो और ऑडियो एक्सेस इकाइयों को कैसे ढूंढते हैं?

मैं ओएसएस द्वारा उत्पन्न आईएसओ 14496-12 में सूचीबद्ध अधिकांश बॉक्सों की व्याख्या कर सकता हूं। मुझे अभी तक यह पता लगाना है कि अलग-अलग वीडियो एक्सेस इकाइयों और ऑडियो एक्सेस इकाइयों को कैसे निकालना है।

मुझे विश्वास है कि 'mdat' बॉक्स में H.264 वीडियो में एनएएल इकाइयों पर आईएसओ 14496-10 अनुलग्नक बी "0x000001" उपसर्ग नहीं है।

मैं SampleToChunkBox ('stsc'), SampleSizeBox ('stsz'), और ChunkOffsetBox ('stco') की व्याख्या 'mdat' अंदर मीडिया के नमूने का पता लगाने का साथ प्रयोग किया है, लेकिन मैं कुछ भी नहीं कर पा रहे कि मैं nal_unit() (आईएसओ 14496-10 सेक्शन 7.3.1) या एक slice_header() (सेक्शन 7.3.3) के रूप में व्याख्या कर सकता हूं।

मैं भी उत्सुक हूं जहां एसपीएस (7.3.2.1) और पीपीएस (7.3.2.2) रहते हैं। मुझे संदेह है कि ये 'ट्रैक' बॉक्स के अंदर कहीं रहते हैं, लेकिन मुझे पता नहीं चला है कि कहां है।

अनुप्रयोगों या पुस्तकालयों के पॉइंटर्स सीमित उपयोगिता के हैं। मैं एक आवेदन लिख रहा हूं, और गणितीय स्पष्टीकरण की तुलना में बाहरी स्रोत कोड को समझना मुश्किल है (अपने स्वयं के ढांचे से घिरा हुआ होना)।

+0

isoviewer यहां प्रदान करें: https://code.google.com/p/mp4parser/ –

उत्तर

5

स्टैक ओवरफ्लो पर अन्य प्रश्नों के माध्यम से घूमने के कुछ घंटों खर्च करने के बाद, मैं अंततः संक्षिप्त प्रतिक्रियाओं पर ठोकर खाई जिसने मुझे एक और व्यापक उत्तर दिया।

Parsing H264 in mdat MP4

आईएसओ मीडिया फ़ाइलों के भीतर 264 की कैप्सूलीकरण आईएसओ 14496 हिस्सा 15. एसपीएस और पी पी एस 'avcC' बॉक्स खंड 5.3.4.1.2 में दस्तावेज में रखे जाते हैं और से आच्छादित है 5.2.4.1.1। यह बॉक्स को भी बताता है कि नमूनों की व्याख्या करते समय लंबाई फ़ील्ड कितनी देर तक हैं।

नमूने अनुभाग 5.2.3 में प्रलेखित हैं और की एक श्रृंखला शामिल है जो एनएएल इकाइयों की लंबाई से पूर्ववर्ती है। Ffmpeg से एक उदाहरण एमपी 4 में एक नमूना प्रति टुकड़ा है, लेकिन पहले नमूने में एक एसईआई शामिल है जिसमें H.264 कोडेक के संस्करण और एन्कोडिंग पैरामीटर शामिल हैं।

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