来自Amazon S3 MP4 / MOV URL的iOS缩略图

时间:2015-01-28 09:47:13

标签: ios amazon-s3 thumbnails

我在Amazon S3存储桶上上传了几个视频。我想在iOS应用程序中以列表格式显示视频以及缩略图。

假设网址为https://testurlatamzons3/mybucket/somefile.mp4,我想从网址获取缩略图而不实际下载或流式传输文件。

我见过某些例子,我可以下载UIImage并在UIImageView上显示它。我发现的例子是here 但是对于亚马逊s3上的350MB文件,只需要1.9mb的数据传输就可以获得缩略图。是否有更优化或不同的方法来获取托管在Amazon S3上的mp4 / mov文件的缩略图

此致

Nirav

2 个答案:

答案 0 :(得分:4)

你可以随时随地使用AVFoundation获取缩略图,任意大小:

AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:yourVideoUrl options:nil];
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform = YES;
CMTime thumbTime = CMTimeMakeWithSeconds(5,30);

AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, 
                                                   CGImageRef im, 
                                                   CMTime actualTime, 
                                                   AVAssetImageGeneratorResult result, 
                                                   NSError *error){
    NSLog(@"make sure generator is used in this block and it'll work %@", generator);
};

generator.maximumSize = CGSizeMake(320, 180);
[generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler];

答案 1 :(得分:0)

我猜你有两个选择:

  1. 要有一些符合您需要的API,并将缩略图的网址返回给您的应用

  2. 要下载视频的一小部分并从中抓取一帧,但这取决于您的视频格式,这可能对MP4视频有所帮助

  3. https://github.com/ohminteractive/OHMTagLib