Я редактирую статический фильм в iOS. Используя GPUImage Framework, получая нулевые значения в следующем методе, вот мой код snipet

Я хочу вернуть CMsampleBuffer из следующего метода

-(CMSampleBufferRef )readMovieFrames{ AVURLAsset *mAsset = [[AVURLAsset alloc] initWithURL:sampleURL options:NULL]; tracks = [mAsset tracksWithMediaType:AVMediaTypeVideo]; //here getting one index AVAssetTrack *mTrack = [tracks objectAtIndex:0]; NSString* key = (NSString*)kCVPixelBufferPixelFormatTypeKey; NSNumber* value = [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32BGRA]; NSDictionary * settings = [[NSDictionary alloc] initWithObjectsAndKeys:value, key, nil]; AVAssetReaderTrackOutput *mOutput = [[AVAssetReaderTrackOutput alloc] initWithTrack:mTrack outputSettings:settings]; AVAssetReader *mReader = [[AVAssetReader alloc] initWithAsset:mAsset error:nil]; [movieFile readNextVideoFrameFromOutput:mOutput]; [mReader addOutput:mOutput]; [mReader startReading]; CMSampleBufferRef sampleBuffer=[mOutput copyNextSampleBuffer]; CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer); CVPixelBufferLockBaseAddress( pixelBuffer, 0 ); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 600, 400, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, CVPixelBufferGetBaseAddress( pixelBuffer )); CVPixelBufferUnlockBaseAddress( pixelBuffer, 0 ); return sampleBuffer; } 

здесь в поле зрения была загружена

 [super viewDidLoad]; NSMutableArray *arrImages=[[NSMutableArray alloc] init]; // filter = [[GPUImagePixellateFilter alloc] init]; // filter = [[GPUImageUnsharpMaskFilter alloc] init]; filter = [[GPUImageDissolveBlendFilter alloc] init]; [(GPUImageDissolveBlendFilter *)filter setMix:0.5]; sampleURL = [[NSBundle mainBundle] URLForResource:@"Sydney" withExtension:@"m4v"]; movieFile = [[GPUImageMovie alloc] initWithURL:sampleURL]; movieFile.runBenchmark = YES; movieFile.playAtActualSpeed = YES; [movieFile addTarget:filter]; [movieFile prepareForImageCapture]; [movieFile processMovieFrame:[self readMovieFrames]]; MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: sampleURL]; [player prepareToPlay]; [player.view setFrame: CGRectMake(0, 100, 320, 240)]; // player's frame must match parent's [self.view addSubview: player.view]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:sampleURL]; CMTime duration = playerItem.duration; float seconds = CMTimeGetSeconds(duration); NSLog(@"duration: %.2f", seconds); [player play]; GPUImagePicture *overlayPicture; for (int i=0; i<seconds; i++) { UIImage *image = [player thumbnailImageAtTime:i timeOption:MPMovieTimeOptionNearestKeyFrame]; [arrImages addObject:image]; overlayPicture= [[GPUImagePicture alloc] initWithImage:[arrImages objectAtIndex:i]]; [overlayPicture addTarget:filter]; [overlayPicture processImage]; NSLog(@"Image -0-0-0-0- %@",image); UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); } // Only rotate the video for display, leave orientation the same for recrding GPUImageView *filterView = (GPUImageView *)self.view; [filter addTarget:filterView]; // In addition to displaying to the screen, write out a processed version of the movie to disk NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/EditedMovie.m4v"]; unlink([pathToMovie UTF8String]); // If a file already exists, AVAssetWriter won't let you record new frames, so delete the old movie NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie]; movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(640.0, 480.0)]; [filter addTarget:movieWriter]; // Configure this for video from the movie file, where we want to preserve all video frames and audio samples movieWriter.shouldPassthroughAudio = YES; movieFile.audioEncodingTarget = movieWriter; [movieFile enableSynchronizedEncodingUsingMovieWriter:movieWriter]; [movieWriter startRecording]; [movieFile startProcessing]; [movieWriter setCompletionBlock:^{ [filter removeTarget:movieWriter]; [movieWriter finishRecording]; }]; 

One Solution collect form web for “Я редактирую статический фильм в iOS. Используя GPUImage Framework, получая нулевые значения в следующем методе, вот мой код snipet”

Проверьте этот URL. Надеюсь, что это ответ на ваш вопрос

http://www.7twenty7.com/blog/2010/11/video-processing-with-av-foundation

  • Разработка приложений для iphone, не являющихся разработчиками Apple
  • События Firebase Analytics от iOS не отображаются
  • Как загрузить файл, загруженный в частную группу Facebook, используя Graph API
  • Невозможно погладить путь в режиме наложения карты
  • Значки стандартных кнопок для iOS в Xcode
  • iOS: использование аудиовыхода Bluetooth (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput) AudioSession
  • Уведомление об удалении iPhone - App
  • Добавить пользовательскую кнопку с AsyncDisplayKit
  • Как экспортировать код на Origami Studio
  • Направление аудиовыхода на громкоговоритель Bluetooth в iOS 7 без использования MPVolumeView
  • Как перенести субвью на фронт, когда вы нажмете его?
  • Interesting Posts

    iOS 7 vs iOS 8 Ограничения различаются по размерам

    Ошибка компиляции файлов раскадровки с использованием Xcode 6 beta 5

    Будет ли использование библиотеки iOS PayPal для моего приложения отклонено?

    Местная и международная доставка (SDK PayPal iOS)

    UNNotificationContentExtension не отображается

    Swift – UITableViewController с навигационной панелью

    Идентификатор, соответствующий протоколу, против Qualify id с протоколом

    Ядра данных с преобразованием основных данных NSArray

    Динамический UILabel, усекающий текст

    Swift: включить кнопку «отменить клавиатуру» на iPhone?

    Местное уведомление не отображается при попадании в область

    Установить (граница) радиуса WKInterfaceImage по коду

    Как я могу оживить размер UICollectionViewCell на прокрутке, чтобы средний был самым большим?

    UIWebView не собирает текст QuickType в поле ввода HTML в iOS 8.1.2

    Переименование разработчика App Store

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.