2011-06-02 6 views
11

में वीडियो फसल करना हम छवियों को फसल कर सकते हैं। क्या हम वीडियो फसल कर सकते हैं?आईओएस

+0

हाय, क्या आपको कोई जवाब मिल रहा है? मुझे उसी – SriPriya

+0

@Priya को लागू करने की आवश्यकता है, क्षमा करें मुझे कोई जवाब नहीं मिला है। विशेषज्ञ के – Anand

+0

से सुराग या सुझाव के लिए प्रतीक्षारत, धन्यवाद, अगर मुझे कोई मिला, तो मैं आपको सूचित करूंगा – SriPriya

उत्तर

7

चूंकि वीडियो चित्रों का संग्रह है, इसलिए आप वीडियो से सभी फ्रेम फसल कर सकते हैं और नया वीडियो बनाने के बाद। AVFoundation गाइड कुछ कार्यों का वर्णन: Putting it all Together: Capturing Video Frames as UIImage Objects इस के बाद आप छवियों फसलों और वीडियो लिखने

आप एक परिसंपत्ति लेखक का उपयोग एक QuickTime मूवी फ़ाइल या इस तरह के नमूने बफ़र्स या अभी भी रूप में मीडिया से एक एमपीईजी -4 फ़ाइल बनाने के लिए कर सकते हैं इमेजिस।

अधिक जानकारी के AV Foundation Framework

+0

उत्तर देने के लिए धन्यवाद। जो लिंक आपने प्रदान किया वह वास्तव में अच्छा है। CMSampleBuffer का उपयोग करके मुझे छवियां मिलती हैं लेकिन इसे वीडियो में कैसे परिवर्तित करें। – Anand

+0

लिंक "इसे सभी एक साथ रख रहा है ..." अब कोई नया लिंक नहीं है, या कोई अन्य ट्यूटोरियल – iqueqiorio

+0

@beryllium लिंक प्रदान कर रहा है, इसलिए डाउनवॉटेड काम नहीं कर रहा है। इसमें कोई संदेह नहीं है कि आपका जवाब सही है। – KDeogharkar

0

यह छवियों

के रूप में सरल नहीं है, लेकिन यह वीडियो के सही विनिर्देश के रूप में के रूप में आसान हो सकता है लेकिन वहाँ नहीं है पर्याप्त जानकारी के लिए देखें।

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

मैं सर्वोत्तम गुणवत्ता के लिए सही आकार और मंच पर एन्कोड करता हूं, इस तरह के फिक्स 'क्लेज' हैं लेकिन वे चुटकी में काम करते हैं। मैं क्विकटाइम एसडीके पकड़ लेगा और चारों ओर पोक करेगा।

2

आपको AVAssetExportSession, AVVideoComposition, और AVVideoCompositionCoreAnimationTool का उपयोग करके ऐसा करने में सक्षम होना चाहिए (और बस अपनी इच्छित स्थिति के साथ एक कैलियर पदानुक्रम स्थापित करें)। मुझे यकीन नहीं है कि यह सबसे प्रभावी तरीका है, हालांकि।

5
[[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil]; 
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:inputURL options:nil]; 
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetLowQuality]; 
exportSession.outputURL = outputURL; 
exportSession.shouldOptimizeForNetworkUse = YES; 
exportSession.outputFileType = AVFileTypeQuickTimeMovie; 

CMTime start = CMTimeMakeWithSeconds(1.0, 600); 
CMTime duration = CMTimeMakeWithSeconds(120.0, 600); 
CMTimeRange range = CMTimeRangeMake(start, duration); 
exportSession.timeRange = range; 

[exportSession exportAsynchronouslyWithCompletionHandler:^(void){ 
       handler(exportSession); 
       [exportSession release];}]; 

यहाँ हम पहले 2 मिनट का एक वीडियो मिलता है।