ios – 从视频中检索缩略图 – 目标C.

ios – 从视频中检索缩略图 – 目标C.,第1张

概述我有一个将视频上传到服务器的应用程序,现在我想要创建的是一个新闻源,用于显示那些视频帖子,但是通过缩略图或视频帧.因此,一旦用户点击缩略图,视频就会播放. 我有以下代码用于从服务器获取视频并播放它: - (void)openVideo { NSString *videoURLString = @"http://myite.com/dev/iphone/uploads/t69566.mov 我有一个将视频上传到服务器的应用程序,现在我想要创建的是一个新闻源,用于显示那些视频帖子,但是通过缩略图或视频帧.因此,一旦用户点击缩略图,视频就会播放.

我有以下代码用于从服务器获取视频并播放它:

- (voID)openVIDeo {    Nsstring *vIDeoURLString = @"http://myite.com/dev/iphone/uploads/t69566.mov";    NSURL *vIDeoURL = [NSURL URLWithString:vIDeoURLString];    MPMovIEPlayerVIEwController *movIEPlayerVIEw = [[[MPMovIEPlayerVIEwController alloc] initWithContentURL:vIDeoURL] autorelease];    [self presentMovIEPlayerVIEwControllerAnimated:movIEPlayerVIEw];}

现在很粗糙,我很想让openVIDeo与视频帖子一起动态,但我仍然坚持使用这个视频并抓取一个框架或缩略图并显示它.

建议?想法?

更新:

我想从服务器拍摄的视频中获取缩略图.这实际上给我带来了一个问题.

当用户首次上传视频时,最好只在那里创建一个缩略图并将其上传到我的服务器,并将其与视频相关联,抓住它们以填充新闻Feed类型?

解决方法 您可以使用AVAssetimageGenerator完成此 *** 作.粗糙的代码,从工作项目中复制和粘贴(但可能没有被正确隔离):

> _thumbnailVIEw是一个显示缩略图的UIImageVIEw.
> _activityVIEw是一个UIActivityIndi​​catorVIEw,在缩略图完成加载时会被隐藏.

AVPlayerItem *playerItem = [[AVPlayerItem playerItemWithURL:movIEURL] retain];AVAssetimageGenerator *_generator;_generator = [[AVAssetimageGenerator assetimageGeneratorWithAsset:playerItem.asset] retain];[playerItem release];AVAssetimageGeneratorCompletionHandler handler = ^(CMTime requestedTime,CGImageRef image,CMTime actualTime,AVAssetimageGeneratorResult result,NSError *error) {    if (result == AVAssetimageGeneratorSucceeded) {        UIImage *thumb = [UIImage imageWithCGImage:image];        [_thumbnailVIEw setimage:thumb forState:UIControlStatenormal];    } else {        DLog(@"%s - error: %@",__PRETTY_FUNCTION__,error);    }    dispatch_async(dispatch_get_main_queue(),^{        _thumbnailVIEw.hIDden = NO;        _playbutton.hIDden = NO;        [_activityVIEw stopAnimating];    });};[_generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(30,30)]] completionHandler:handler];

回到你的问题,在我看来,服务器端生成的缩略图通常更好,因为服务器具有更强的处理能力.此外,为了获得此缩略图,您需要开始从服务器下载实际视频.

最后,不是你传递CMTime参数,包括对CMTimeMakeWithSeconds()的调用.这可能会有问题,因为您可以轻松打出空白帧.这就是我们使用30作为参数的原因,因此我们在视频中避免这种情况.

总结

以上是内存溢出为你收集整理的ios – 从视频中检索缩略图 – 目标C.全部内容,希望文章能够帮你解决ios – 从视频中检索缩略图 – 目标C.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069548.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存