मैं ओपनमैक्स का उपयोग किए बिना रास्पबेरी पीआई सीधे पर वीडियो डिकोडिंग का एक उदाहरण ढूंढ रहा हूं।ओपनमैक्स का उपयोग किए बिना रास्पबेरी पीआई में वीडियो डीकोड करें?
यह मल्टीमीडिया सॉफ्टवेयर के विभिन्न परतों बताते हैं:
एक अतिरिक्त परत जो यहां से दिखाई नहीं दे रहा है, "MMAL" परत है जो (मेरा मानना है कि) OpenMAX के चारों ओर एक ब्रॉडकॉम आवरण नहीं है । (यदि नहीं, तो यह कर्नेल ड्राइवर के शीर्ष पर बैठे ओपनमैक्स विकल्प होगा) उदाहरण के लिए एमएमएएल का उपयोग करके रास्पिवल और रास्पिस्टिल लिखा गया है।
मुझे वीडियो डिकोड का एक उदाहरण चाहिए जहां इनपुट कच्चे H.264 है, और आउटपुट या तो स्क्रीन पर स्मृति या वीडियो में वीडियो है। मैं इसे को VCHIQ का उपयोग करके सीधे का उपयोग करना चाहता हूं, ओपनमैक्स का उपयोग नहीं कर रहा हूं। (मुख्य रूप से प्रदर्शन और परिवर्तनशीलता कारणों के लिए)
यह GitHub भंडार: https://github.com/raspberrypi/userland/ ऊपर दिखाए गए सब कुछ के लिए स्रोत (नारंगी और हरे रंग बॉक्स होता है; VCHIQ खुद के लिए स्रोत, VCHIQ, यह भी ओपन और EGL कार्यान्वयन के शीर्ष पर OpenMAX आईएल कार्यान्वयन, ...)। तो सिद्धांत में यह शुरू करने के लिए पर्याप्त होना चाहिए। समस्या यह है कि यह बेहद स्पष्ट नहीं है कि इसका उपयोग कैसे किया जाए, भले ही कोई ओपनमैक्स से और मल्टीमीडिया ढांचे के साथ सामान्य रूप से परिचित हो।
उदाहरण के लिए: vchiq_bulk_transmit() ऐसा प्रतीत होता है जो कोई डिकोडर को वीडियो भेजने के लिए उपयोग करेगा। लेकिन टाइप VCHIQ_SERVICE_HANDLE_T
के पहले तर्क को कैसे प्रारंभ करें? परिणाम कहां जाते हैं, फ्रेमबफर में, या परिणामस्वरूप हैंडल, या ...?
संपादित इनाम या तो वीडियो डीकोड की एक काम उदाहरण उपलब्ध कराने के इस लिखने के लिए vchiq हैं, तो API पूर्वाभ्यास (यहां तक कि किसी सक्रिय उदाहरण है) या पर्याप्त दस्तावेज़ के लिए सूचक है कि फोन करने के क्रम दर्शाती का उपयोग करके एकत्र किया जा सकता। एक कामकाजी उदाहरण एक भारी अतिरिक्त बक्षीस मिलेगा :)
क्या ओपनमैक्स का उपयोग नहीं करने का कोई विशेष कारण है? – drahnr
@drahnr: मुझे एक एपीआई चाहिए जिसमें मुझे अपना डीकोडेड डेटा तुरंत मिल जाए। ओपनमैक्स आईएल में बफर का एक गुच्छा है, उनके साथ कोई कार्यान्वयन क्या हो सकता है, इस पर कोई विशेष बाधा नहीं है, यह संभावित रूप से कई फ्रेम बफर कर सकता है और इसे नियंत्रित करने के लिए एपीआई में कोई रास्ता नहीं है। मैंने कार्यान्वयन देखा है जो डेटा लौटने में काफी धीमी है (थ्रुपुट अभी भी ऊंचा है, डेटा बस देरी हो रही है)। ... मुझे लगता है कि अगर कोई इसका जवाब देने के लिए एक शॉट चाहता था तो यह दिखाता है कि आरपीआई पर एक सेकंड के 1/60 वें से कम में ओपनमैक्स का उपयोग करके डीकोडेड फ्रेम कैसे प्राप्त करें, यह भी ठीक होगा :) –
शायद यह नहीं है आप सुनना चाहते हैं, लेकिन एच 264 डिकोडर को कार्यान्वित करना बहुत चुनौतीपूर्ण है और मुझे एक ऐसी आत्मा नहीं पता है जो इसे मुफ्त में कोड करेगी (भले ही आपने 500 प्रतिनिधि बक्षीस रखा हो)। – karlphillip