从视频网址iOS生成图像

时间:2015-12-29 06:37:15

标签: ios avassetimagegenerator

我有这个问题,我现在面对过去2天了。我需要从视频中生成图像。我正在使用$str = "S|http://www.xyz.in"; $chunks = preg_split("/\|/", $str); print_r($chunks); 并且我正在使用方法

AVAssetImageGenerator

现在我在数组中获取图像,这些图像根据打印描述不同。但是当我在'generateCGImagesAsynchronouslyForTimes:times completionHandler:^(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error)' 上设置这些图像时,我错过了一些图像,我得到一些重复images.Here是我一直在使用的代码:

UIImage

2 个答案:

答案 0 :(得分:0)

这是我在我的应用程序中使用的代码,该应用程序目前在应用程序商店中可用并且工作得非常好。此代码获取视频的第一帧并从中生成图像。

AVURLAsset *asset1 = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:toPath] options:nil];
            AVAssetImageGenerator *generate1 = [[AVAssetImageGenerator alloc] initWithAsset:asset1];
            generate1.appliesPreferredTrackTransform = YES;
            NSError *err = NULL;
            CMTime time = CMTimeMake(1, 2);
            CGImageRef oneRef = [generate1 copyCGImageAtTime:time actualTime:NULL error:&err];
            UIImage *image = [[UIImage alloc] initWithCGImage:oneRef];

希望这段代码对您有用。 Lemme知道你的评论:)快乐的编码伙伴:)

答案 1 :(得分:0)

    imageGenerator.requestedTimeToleranceBefore = kCMTimeZero;
    imageGenerator.requestedTimeToleranceAfter = kCMTimeZero;

我添加了这两行,现在我得到了我需要的完美结果。我仍然不是100%确定这些属性做了什么,但我得到了我需要的东西。现在如果有人解释这些属性,它会省去一些因为我迟早会探索这些属性。只需复制代码,你就会看到一切现在都完美无缺。 : - )