2009-02-23 13 views
5

मैं समझना चाहता हूं कि वीडियो और ऑडियो डिकोडिंग कैसे काम करती है, विशेष रूप से समय सिंक्रनाइज़ेशन (30fps वीडियो कैसे प्राप्त करें, ऑडियो के साथ जोड़े को कैसे जोड़ा जाए)। मैं सभी विवरणों को जानना नहीं चाहता, बस इसका सार। मैं एक वास्तविक वीडियो/ऑडियो डिकोडर का उच्च स्तरीय सरलीकरण लिखने में सक्षम होना चाहता हूं।एमपीईजी 2 डीकोडिंग

क्या आप मुझे पॉइंटर्स प्रदान कर सकते हैं? एमपीईजी 2 वीडियो/ऑडियो डिकोडर का एक वास्तविक सी/सी ++ स्रोत कोड उन चीजों को समझने का सबसे तेज़ तरीका होगा जो मुझे लगता है।

उत्तर

3

आप ffmpeg (svn के माध्यम से उपलब्ध) के स्रोत कोड ब्राउज़ कर सकते हैं, या इसके API documentation

6

काम करने वाले कोडेक से स्रोत कोड पढ़ना सही तरीका लगता है। मेरा सुझाव है निम्नलिखित:

http://www.mpeg.org/MPEG/video/mssg-free-mpeg-software.html

यह देखते हुए कि यह mpeg.org वेबसाइट पर mentionned है, मैं कहना चाहता हूँ कि आप मिल जाएगा कि आप यहां क्या जरूरत है।

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

एक बार स्लॉट, एक छवि। लेकिन हाल ही में कोडेक्स बहुत जटिल हैं, मुझे लगता है!

संपादित करें: तुल्यकालन

मैं ऑडियो और वीडियो सिंक्रनाइज़ करने में कोई विशेषज्ञ हूँ, लेकिन इस मुद्दे को एक सिंक परत (परिभाषा के लिए there देखें) का उपयोग के साथ पेश किया जा रहा है।

+0

हाँ, मैं वीडियो डिकोडिंग, इंट्रा प्री डीक्ट इत्यादि के उन बुनियादी सिद्धांतों को जानता हूं। हालांकि यह सिंक्रनाइज़ेशन है जो मुझे एटीएम में रूचि देता है। सहायक उत्तर बीटीडब्ल्यू, धन्यवाद। दुर्भाग्य से –

1

एमपीईजी -2 प्रारूप के बारे में आप कितना जानते हैं, इस पर निर्भर करते हुए, आप इसके बारे में एक लेख पढ़कर एक व्यापक अवलोकन प्राप्त करना चाहेंगे। मैं इन की तरह कुछ मतलब है:

A Beginners Guide for MPEG-2 Standard

MPEG-2 VIDEO COMPRESSION

+0

, दोनों लिंक अब मान्य नहीं हैं। – user1810087

3

ऑडियो/वीडियो तुल्यकालन के लिए, मूल रूप से, हर वीडियो और ऑडियो फ्रेम समय मुहर लगी होनी चाहिए। टाइमस्टैम्प आमतौर पर पीटीएस (प्रस्तुति समय टिकट) के रूप में जाना जाता है। एक बार वीडियो/ऑडियो डीकोडर द्वारा डीकोडर होता है, तो ऑडियो/वीडियो रेंडरर को फ्रेम को सही समय पर प्रदर्शित करने के लिए शेड्यूल करना चाहिए ताकि ऑडियो/वीडियो सिंक्रनाइज़ हो।

मुझे लगता है कि आप विवरण के लिए MPEG2 Tutorial के अध्याय "Timing Model" का संदर्भ ले सकते हैं।

+1

बस कुछ जोड़ने के लिए: ध्वनि से समय प्राप्त करना एक अच्छा विचार है (उदा। शुरुआत के बाद से नमूने खेला जाता है) क्योंकि ध्वनि आउटपुट शायद ही कभी निर्दिष्ट आवृत्ति पर चलता है। ध्वनि का उपयोग करना सुनिश्चित करता है कि फिल्म के अंत तक ऑडियो और वीडियो सिंक में रहें। –

1

@ Patric और निल्स

तो आप कहते हैं timestamps देखते हैं कि, हेन ... ये वीडियो हिस्सा केवल मुझे लगता है के लिए कर रहे हैं। ऑडियो के लिए मुझे लगता है कि शीर्षलेख में पर्याप्त जानकारी है (जैसे "प्रति सेकंड नमूने")। इन बार टिकटों की कितनी बार आवश्यकता होती है? मुझे कल्पना है कि ऑडियो और वीडियो पैकेट के अंतराल से यह सुनिश्चित होता है कि वीडियो डेटा हमेशा ऑडियो डेटा या कुछ से आगे है?

संपादित करें: मिला कि मैं क्या जरूरत: http://www.dranger.com/ffmpeg/tutorial01.html

1

Helltone,

ऑडियो डेटा के लिए मुहर क्योंकि ऑडियो और वीडियो फ्रेम एक ही स्थान पर गठबंधन नहीं किया जा सकता है अभी भी आवश्यक हैं।

वी:: 1000 1040 1080 1120 ... एक: उदाहरण के लिए 990 1013 1036 (खो) 1082

आप क्षतिपूर्ति करने के लिए पहले वीडियो/ऑडियो फ्रेम के बीच ऑफसेट पड़ सकता है। इसके अलावा, यदि यह संभव है कि पैकेट नुकसान (वीडियो स्ट्रीमिंग के दौरान) हैं, तो आपको सटीक सिंक्रनाइज़ेशन रखने के लिए वीडियो/ऑडियो दोनों के टाइमस्टैम्प की आवश्यकता है।

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