在使用AVFoundation和AVCamRecorder录制电影后,我正在推新的UIViewController。
目前我正在从保存电影的网址播放电影,而且工作正常。我在理解如何将视频从URL转换为GIF动画时遇到了很多麻烦。
我对Objective C非常新并成功创建了一个漂亮的自定义视频录像机,但现在对此下一篇文章感到气馁。
我有
SecondViewController.h
@interface SecondViewController : UIViewController
@property NSURL *videoURL;
@end
SecondViewController.m
#import "SecondViewController.h"
#import "FirstViewController.h"
#import "CaptureManager.h"
#import "AVCamRecorder.h"
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>
@interface SecondViewController ()
@property (nonatomic, strong) CaptureManager *grabFile;
@property (nonatomic, strong) MPMoviePlayerController *movie;
@end
@implementation SecondViewController
- (void)viewDidLoad
{
self.movie = [[MPMoviePlayerController alloc] initWithContentURL:self.videoURL];
_movie.view.frame = CGRectMake(0.0, 64.0, 320.0, 320.0);
_movie.movieSourceType = MPMovieSourceTypeFile;
_movie.repeatMode = MPMovieRepeatModeOne;
[self.view addSubview:_movie.view];
[_movie play];
}
我用
尝试了一些事情AVURLAsset
和
AVAssetImageGenerator
但是我无法输出任何东西。我想知道步骤,如果可能的话,有关如何将帧提取为动画gif的示例位。感谢您阅读我的问题! :)
答案 0 :(得分:3)
答案是在生成的视频上使用CVPixelBuffer
将图像资源输出到内存中,然后将图像添加到NSDictionary
并从存储的图像中创建gif。
如何使用CVPixelBuffer
How to turn a CVPixelBuffer into a UIImage?
如何从字典中获取存储的图像并创建一个gif:
Create and and export an animated gif via iOS?