2011-11-23 12 views
13

मैंने आईफोन पर कोर एनीमेशन का उपयोग करके एक बुनियादी एनीमेशन फ्रेमवर्क लिखा था। इसमें एनिमेशन के विराम और फिर से शुरू करने की कार्यक्षमता है और निर्दिष्ट समय पर एनिमेशन भी चला सकता है। मेरी मूल समस्या यह है कि मुझे अपने एनिमेशन को वीडियो फ़ाइल (.mov, .avi आदि) में निर्यात करने का कोई तरीका नहीं मिल रहा है। मैंने AVAssetWriter और AVComposition पढ़ा है लेकिन यह समझ में नहीं आता कि उन्हें मेरे मामले में कैसे काम करना है।वीडियो फ़ाइल में कोरएनीमेशन निर्यात करें

इंटरनेट खोजकर मैं अपने एनिमेशन के फ्रेम पढ़ने के द्वारा फ्रेम करने के द्वारा निकटतम था। यहां तक ​​कि इसके लिए मुझे इसे काम करने का कोई तरीका नहीं मिला और मुझे यह नहीं मिला कि आईफोन एसडीके के पास इस मामले के फ्रेम के लिए मेरे मामले में फ्रेम पढ़ने के लिए कुछ करना है या नहीं। मैं भी इस question on stackoverflow के करीब आया था और अभी भी पता नहीं लगा सका (माफ करना अगर मुझे लगता है कि मैं उन चीजों में शुरुआती हूं, लेकिन मैं नहीं हूं, बस कुछ चीजों को समझ नहीं पाया)

यदि कोई जानता है कि इसे कैसे काम करना है या यहां तक ​​कि इसके समान कुछ कैसे साझा करें। और यदि कोई रास्ता नहीं है तो यदि आप CoreAnimation के बजाय OpenGL ES का उपयोग करने के किसी अन्य तरीके को जानते हैं तो कृपया इसे साझा करें।

+0

AVMutableVideoComposition.animationTool पर एक नज़र डालें। मुझे पूरा यकीन है कि आपको AVMutableComposition बनाने और AVAssetExportSession – Gabriele

+0

द्वारा इसे अपने उत्तर के लिए धन्यवाद करने की आवश्यकता है। लेकिन मैंने दोनों की कोशिश की है लेकिन उन्हें काम नहीं कर सका। अब मैं एक वर्कअराउंड पर काम कर रहा हूं जो छवियों में फ्रेम द्वारा मेरे एनिमेशन फ्रेम को पढ़ता है। यह फ्रेम द्वारा काम कर रहा है और फ्रेम पढ़ रहा है जो मेरी विधि में टाइमर शेड्यूल करके फ्रेम प्राप्त करके पूरा किया जाता है। यह 30 एफपीएस पढ़ने के लिए काम करता है लेकिन मैं अपने एनिमेशन को अधिक एफपीएस के साथ परिवर्तित करना चाहता हूं जो एनएसटीमर के कारण धीमा हो जाता है। अब मैं जानना चाहता हूं कि इस तरह की चीज़ के लिए कोई बेहतर तरीका है? – Azeem

+1

आपके प्रश्न से संबंधित नहीं है, लेकिन क्या आपने स्क्रीन पर इसे प्रस्तुत किए बिना अपनी एनीमेशन से 'UIImage *' प्राप्त करने का प्रबंधन किया है? कैसे? (renderInContext परिवर्तनों को अनदेखा करता है, इसलिए यह एक विचार था जिसे मैंने कुछ समय पहले किया था =()। मेरे पास छवियों की एक सरणी से वीडियो फ़ाइल करने के लिए कुछ कोड है, क्या आप इसे चाहते हैं? –

उत्तर

6

इस प्रस्तुति की जांच करें: http://www.slideshare.net/invalidname/advanced-media-manipulation-with-av-foundation पृष्ठ 84 के आसपास वह वीडियो रचनाओं में एनीमेशन जोड़ने के बारे में बात करता है। मेरा मानना ​​है कि इससे आपको जो चाहिए वह प्राप्त करने में मदद मिलेगी।

संपादित करें: विशेष रूप से आप अपने वीडियो रचना की animationTool को देखने की जरूरत है। यह एक AVVideoCompositionCoreAnimationTool ऑब्जेक्ट है जो आपको अपने आउटपुट वीडियो में कोर एनीमेशन परत जोड़ने की अनुमति देता है। यह प्रश्न भी देखें: Recording custom overlay on iPhone मुझे खेद है कि आपके पास एक पूर्ण कोड स्निपेट प्राप्त करने का समय नहीं है, लेकिन मूल रूप से आप अपने वीडियो संयोजन के इस एनीमेशन टूल को सेट करते हैं, और उसके बाद AVAssetExportSession बनाते हैं और इसके वीडियो को आपके पास सेट करते हैं बनाया गया।

+0

आपके उत्तर के लिए धन्यवाद। यह एक बहुत ही मूल्यवान संसाधन है लेकिन यह मेरी समस्या का समाधान नहीं करता है। – Azeem

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