क्या libstagefright.so
H.264
स्ट्रीम को JNI
से एंड्रॉइड 2.3 या उससे ऊपर की परत से सीधे डीकोड करने का कोई तरीका है?एंड्रॉइड में जेएनआईलेयर से H.264 स्ट्रीम को डीकोड करने के लिए सीधे स्टेजफ़ाइट.एसओ एक्सेस करें
उत्तर
अपने उद्देश्य एक प्राथमिक H.264
धारा डिकोड करने के लिए है, तो अपने कोड सुनिश्चित करना है कि धारा निकाला जाता है, codec-specific-data
कोडेक जो मुख्य रूप से SPS
और PPS
डेटा और फ्रेम डेटा समय-टिकटों के साथ है करने के लिए प्रदान की जाती है होगा कोडेक को प्रदान किया जाता है। सभी Android
संस्करणों में, सबसे आम इंटरफ़ेस OMXCodec
होगा जो अंतर्निहित OMX
घटक पर एक अमूर्त है।
जिंजरब्रेड (Android 2.3) और आईसीएस (एंड्रॉयड 4.0.0) में, यदि आप एक विकोडक बनाना चाहेंगे, सबसे अच्छा तरीका एक MediaSource
इंटरफ़ेस यानी अपने आवरण कोड के माध्यम से एक OMXCodec
घटक और अपने कोड सार बनाने के लिए किया जाएगा MediaSource
और OMXCodec
के रूप में मॉडलिंग किया गया है इस स्रोत से पढ़ता है और डिकोडिंग करता है।
Android 2.3 वीडियो डिकोडर निर्माण के लिए लिंक: http://androidxref.com/2.3.6/xref/frameworks/base/media/libstagefright/AwesomePlayer.cpp#1094
एंड्रॉयड के लिए लिंक 4.0.0 वीडियो डिकोडर निर्माण: http://androidxref.com/4.0.4/xref/frameworks/base/media/libstagefright/AwesomePlayer.cpp#1474
मुख्य चुनौतियों होगा निम्नलिखित:
मॉडल इनपुट
MediaSource
के रूप में।कोडेक से बफर पढ़ने और इसे संभालने के लिए एक रैपर कोड पढ़ें और उसे कोडेक पर वापस छोड़ दें।
सरलीकरण के लिए, आप http://androidxref.com/4.0.4/xref/frameworks/base/cmds/stagefright/stagefright.cpp#233
हालांकि के रूप stagefright
कमांड लाइन निष्पादन योग्य कोड दिखाई दे सकता है, यदि आपके प्रोग्राम JellyBean पर (एंड्रॉयड 4.1.x, 4.2.x) के बाद आधारित है, तो इन थोड़ा हैं अधिक सरल अपने जेएनआई कोड से, आप MediaCodec
घटक बना सकते हैं और डीकोडिंग के लिए इसे नियोजित कर सकते हैं। अपने प्रोग्राम में इसे एकीकृत करने के लिए, SimplePlayer
कार्यान्वयन http://androidxref.com/4.2.2_r1/xref/frameworks/av/cmds/stagefright/SimplePlayer.cpp#316
- 1. H.264 धाराओं को डीकोड करने के लिए MediaCodec क्लास का उपयोग कैसे करें
- 2. jPlayer में कच्चे h.264 वीडियो को स्ट्रीम कैसे करें?
- 3. आईपी कैमरा: H.264
- 4. ffmpeg H.264 डीकोडर
- 5. कैसे AVSampleBufferDisplayLayer H.264
- 6. मैं एंड्रॉइड मीडियाकोडेक को डीकोडिंग के लिए H.264 एनएएल इकाइयों को कैसे खिला सकता हूं?
- 7. H.264 वीडियो एन्कोड करने के लिए MediaCodec के लिए औसत + अधिकतम बिटरेट कैसे सेट करें?
- 8. एफएफएमपीजी एच 264 स्ट्रीम/फ्रेम डेटा डीकोड नहीं कर सकता
- 9. एच.264 यूडीपी पैकेट को प्ले करने योग्य मीडिया स्ट्रीम या फ़ाइल (डीफ्रैग्मेंटेशन) में परिवर्तित करने के लिए कैसे करें
- 10. ffmpeg के साथ डीकोड एच 264 आरटीएसपी और अलग AVCodecContext
- 11. इनपुट स्ट्रीम को डीकोड करना
- 12. हम आईफोन कैमरा से H.264 एन्कोडेड वीडियो स्ट्रीम कैसे प्राप्त कर सकते हैं?
- 13. H.264 libavformat का उपयोग कर एमपी 4 में muxed
- 14. एच 264 एसडीपी में स्पॉप-पैरामीटर-सेट को डीकोड कैसे करें?
- 15. किसी स्ट्रीम से सीधे संपीड़न
- 16. पायथन (2.6) में JSON को डीकोड करने के लिए और यूनिकोड को कैसे डीकोड करें?
- 17. ओपनसीवी स्ट्रीम एच 264 (एमपी 4) कोडेक
- 18. एच.264
- 19. एच 264 आरटीपी स्ट्रीम बनाने के लिए न्यूनतम एसडीपी?
- 20. आरटीएसपी सर्वर से डेटा डीकोड करने के लिए MediaCodec का उपयोग कैसे करें?
- 21. डीबीआई को सीधे एक्सेस करने में क्या गलत है?
- 22. एच .264 एवीसी एंड्रॉइड फोन के लिए समर्थित है?
- 23. web.config सेटिंग्स को सीधे .aspx पृष्ठ में कैसे एक्सेस करें?
- 24. प्रोग्राम के StdOut स्ट्रीम को सीधे सी # में कैसे लिखें?
- 25. एक्सेस स्ट्रीम बफर HttpWebRequest
- 26. सी # ऐप में रास्पबेरी पीआई एच 264 स्ट्रीम चलाएं
- 27. एसेट मैनेजर के बिना सीधे सी ++ में एंड्रॉइड एपीके संपत्ति डेटा एक्सेस करें और
- 28. एंड्रॉइड में डीकोड शिफ्ट-जेस
- 29. ऐप के भीतर एंड्रॉइड में एमपी 3 डीकोड कैसे करें?
- 30. एक आरटीपी सत्र में एकाधिक एच .264 वीडियो स्ट्रीम
मैंने एंड्रॉइड पर libstagefright हार्डवेयर डिकोड वीडियो का उपयोग किया, मुख्य अनुकरण AwesomePlayer.cpp, OMXCodec का आह्वान करें, यह एंड्रॉइड 4.0 पर ठीक है, लेकिन एंड्रॉइड 4.1 पर, यह काली स्क्रीन है, क्या आप कुछ शुभकामनाएं हैं? – crossle
@ एंड्रॉइड 4.1 में क्रॉसलॉन्ग i.e. 'जेलीबीन' डिस्प्ले पाइपलाइन में कुछ महत्वपूर्ण सुधार हुए। क्या आप आगे के विश्लेषण के लिए कुछ लॉग साझा कर सकते हैं? मैं 'भूतलटेक्चर', 'एचडब्ल्यू कॉम्पोज़र' और 'लेयर' मॉड्यूल से लॉगिंग की अनुशंसा करता हूं। एक तरफ नोट: क्या आपकी 'परत' किसी कारण से सुरक्षित के रूप में चिह्नित है? – Ganesh
धन्यवाद आपका उत्तर। मैंने इस समस्या का समाधान किया है, क्योंकि एनीटिवविंडो समस्या। net_window_set_scaling_mode की कमी (mNativeWindow.get(), mVideoScalingMode); – crossle