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

iOS Thumbnail from Amazon S3 MP4/MOV URL

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

假设 url 是 https://testurlatamzons3/mybucket/somefile.mp4 并且我想从 URL 获取缩略图而不实际下载或流式传输文件。

我看过某些示例,我可以下载 UIImage 并将其显示在 UIImageView 上。我找到的例子是 here 但是对于 amazon s3 上的 350MB 文件,仅获取缩略图就需要大约 1.9mb 的数据传输。是否有更优化或不同的方法来获取托管在 Amazon S3

上的 mp4/mov 文件的缩略图

此致,

尼拉夫

我猜你有两个选择:

  1. 要有一些 API 做你想做的事和 returns 缩略图的 URL 到你的应用程序

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

https://github.com/ohminteractive/OHMTagLib

您可以随时使用 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];