是否有可能在iOS中以编程方式逐帧创建视频?

时间:2011-06-26 12:00:07

标签: iphone objective-c ios ipad video

我想创建一个应用程序,用户可以创建有趣的棒图动画。

如果可以将它们导出为视频,那将会很酷。我可以逐帧“绘制”视频帧并将其渲染成H.264或其他视频格式吗?

长度介于2秒到5分钟之间。我听说有一个框架可以编辑视频,但在我的情况下,我真的需要从头创建一个视频。我有什么选择?

2 个答案:

答案 0 :(得分:0)

您可能需要使用提供更低级别控制的多媒体框架,例如gstreamer或ffmeg。

或者,您可以创建一个MJPEG并找出一种转码方式。

答案 1 :(得分:0)

是的,您可以检查: CEMovieMaker

用法:

UIImage *frameImg = <Some Image>;

    NSDictionary *settings = [CEMovieMaker videoSettingsWithCodec:AVVideoCodecTypeH264
                                                        withWidth:source.size.width
                                                        andHeight:source.size.height
                              ];

    ///
    CEMovieMaker * movieMaker = [[CEMovieMaker alloc] initWithSettings:settings];


    /// Complete video
    [movieMaker createMovieFromImages:[self.movieImages copy] withCompletion:^(NSURL *fileURL){

        //AVPlayerViewController or
        MPMoviePlayerViewController *playerController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
        [playerController.view setFrame:self.view.bounds];
        [self presentMoviePlayerViewControllerAnimated:playerController];
        [playerController.moviePlayer prepareToPlay];
        [playerController.moviePlayer play];
        [self.view addSubview:playerController.view];
    }];