ios取出视频的每一帧图片(关键帧,AVAssetImageGenerator)

[html] view
plain
copy

  1. [mImageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(time, NSEC_PER_SEC)]] completionHandler:  
  2.     ^(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error)  
  3.     {  
  4.    
  5.         NSLog(@"actual got image at time:%f", CMTimeGetSeconds(actualTime));  
  6.         if (image)  
  7.         {  
  8.             [CATransaction begin];  
  9.             [CATransaction setDisableActions:YES];  
  10.             [layer setContents:(id)image];  
  11.    
  12.             //UIImage *img = [UIImage imageWithCGImage:image];  
  13.             //UIImageWriteToSavedPhotosAlbum(img, self, nil, nil);  
  14.    
  15.             [CATransaction commit];  
  16.         }  
  17.     }];  
  18.    

如何取得第一帧

AVFoundationframework 

 CoreMediaframework

[html] view
plain
copy

  1. + (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {  
  2.     AVURLAsset *asset = [[[AVURLAsset alloc] initWithURL:videoURL options:nil] autorelease];  
  3.     NSParameterAssert(asset);  
  4.     AVAssetImageGenerator *assetImageGenerator = [[[AVAssetImageGenerator alloc] initWithAsset:asset] autorelease];  
  5.     assetImageGenerator.appliesPreferredTrackTransform = YES;  
  6.     assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;  
  7.   
  8.     CGImageRef thumbnailImageRef = NULL;  
  9.     CFTimeInterval thumbnailImageTime = time;  
  10.     NSError *thumbnailImageGenerationError = nil;  
  11.     thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError];  
  12.   
  13.     if (!thumbnailImageRef)  
  14.         NSLog(@"thumbnailImageGenerationError %@", thumbnailImageGenerationError);  
  15.   
  16.     UIImage *thumbnailImage = thumbnailImageRef ? [[[UIImage alloc] initWithCGImage:thumbnailImageRef] autorelease] : nil;  
  17.   
  18.     return thumbnailImage;  
时间: 2025-01-02 03:10:23

ios取出视频的每一帧图片(关键帧,AVAssetImageGenerator)的相关文章

FFmpeg从视频截取任意一帧图片命令

截取一张352x240尺寸大小的,格式为jpg的图片:  代码如下 复制代码 ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg 把视频的前30帧转换成一个Animated Gif :  代码如下 复制代码 ffmpeg -i test.asf -vframes 30 -y -f gif a.gif 经过测试我发现了这一参数:  代码如下 复制代码 -ss time_off set the start time offset 使用-

iOS将视频录像切成一张张缩略图_IOS

本文实例为大家分享了iOS视频录像切成缩略图的具体代码,供大家参考,具体内容如下 记得导入系统库 #import < MediaPlayer/MediaPlayer.h > 代码: /** * 获取网络视频的全部缩略图方法 * * @param videoURL 视频的链接地址 * * @return 视频截图 */ + (UIImage *)ihefe_previewImageWithVideoURL:(NSURL *)videoURL { AVAsset *asset = [AVAsset

Premiere怎么导出单帧图片?

  Premiere怎么导出单帧图片?          1.首先打开PR,新建一个项目.导入你想要截取图片的视频,一下就是我做的一个景观项目中的一个小景,找到自己要到处的画面位置. 2.在预览框中黄色框的小按钮就是导出单帧图片的按钮,点击. 3.点击后出来对话框,名称,格式以及到处的位置,单机浏览按钮可以修改文件位置,如果你的图片在你做视屏过程中还需要用到的话,把导入项目前面打上勾,最后确认导出,到此就基本完成了. 4.去文件夹中看看.完美导出. 注意事项: 如果对画面要求不是很高的话,可以用

c#-C#能做播放器悬浮显示帧图片的效果么

问题描述 C#能做播放器悬浮显示帧图片的效果么 就是优酷等视频播放网站的那种效果:鼠标悬浮在进度条上,显示附近的帧图片,可以快速查看剧情的. 解决方案 做起来比较复杂,首先需要对上传的视频做预处理,每隔多少秒提取一个帧画面,存入你的服务器.然后用flex/flash编写脚本,当鼠标悬停在特定区域的时候,根据坐标算出时间,找到服务器上对应的预览图,下载,显示.

android-Android 仿美拍录制视频、添加效果、图片合成视频

问题描述 Android 仿美拍录制视频.添加效果.图片合成视频 除了ffmpeg,还有其他的可以做出视频录制.添加效果.图片和声音合成视频么?求大神请教!ffmpeg水太深,开发时间有限啊!!!请求扶持!!! 解决方案 http://blog.csdn.net/sdvch/article/details/38348411http://blog.csdn.net/cuiran/article/details/26581715 解决方案二: 阿里旗下除了一个趣拍SDK.支持android和ios两

【求助~~】opencv surf 如何计算两帧图片的重叠度是否&amp;amp;gt;80%?

问题描述 [求助~~]opencv surf 如何计算两帧图片的重叠度是否>80%? 读取一个视频,获取相连两帧图片,需要计算它们的重叠度是否>80% IplImage* compOverlap(const IplImage* frameBefore, const IplImage* frameAfter) { Mat matBefore(frameBefore); Mat matAfter(frameAfter); // 检测surf特征点 vector<KeyPoint> ke

iOS中获取系统相册中的图片实例_IOS

本文介绍了iOS中获取系统相册中的图片,在很多应用中都能用到,可以获取单张图片,也可以同时获取多张图片,废话不多说了,看下面吧. 一.获取单张图片 思路: 1.利用UIImagePickerController可以从系统自带的App(照片\相机)中获得图片 2.设置代理,遵守代理协议 注意这个UIImagePickerController类比较特殊,需要遵守两个代理协议 @interface ViewController () <UIImagePickerControllerDelegate,

音视频基础 、IPB帧及其特点

基本概念讲解 媒体:是表示,传输,存储信息的载体,常人们见到的文字.声音.图像.图形等都是表示信息的媒体. 多媒体: 是声音.动画.文字.图像和录像等各种媒体的组合,以图文并茂,生动活泼的动态形式表现出来,给人以很强的视觉冲击力,留下深刻印象 多媒体技术:是将文字.声音.图形.静态图像.动态图像与计算集成在一起的技术.它要解决的问题是计算机进一步帮助人类按最自然的和最习惯的方式接受和处理信息. 流媒体 :流媒体是指采用流式传输的方式在Internet播放的连续时基媒体格式,实际指的是一种新的媒体

怎样取出word文档里面的图片?

  今天朋友在编辑一个word文档时问我怎么取出word文档里面的图片,这对我来说小菜一碟,两下就搞定了.下面我就把如何导出word文档里面的图片之方法详细列出来: 方法很简单,按照步骤:点击"文件(F)"→选择另存为.如下图 将文档另存为网页(我保存在桌面) 点击保存(注意一定要是网页类型),我这里保存在桌面了 保存后,桌面出现了两个文档.一个是同名的文件夹(word文档里面的图片都在这里),一个是网页文件. 看看下图,这个就是图片文件夹里面所保存的word文档图片,系统自动按照先后