视频取帧

///视频取帧

- (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil] ;

NSParameterAssert(asset);

AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];

assetImageGenerator.appliesPreferredTrackTransform = YES;

assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;

//取帧

CGImageRef thumbTemp = NULL;

CMTime actualTime ;

//    int32_t time = asset.duration.timescale;

NSError *error = nil;

thumbTemp = [assetImageGenerator copyCGImageAtTime:CMTimeMake(time, asset.duration.timescale) actualTime:&actualTime error:&error];

NSLog(@"%lld",actualTime.value);

UIImage *thumb = nil;

if (!error)

{

thumb = [[UIImage alloc] initWithCGImage:thumbTemp];

}

CGImageRelease(thumbTemp);

return thumb;

}

时间: 2024-10-27 17:58:05

视频取帧的相关文章

iOS视频录制、压缩导出、取帧

概述 花了点时间研究了一下常用的视频获取.录制.压缩.取帧图功能,分享给大家了!相信阅读完本篇文章,会对你有很大的帮助的! 本篇文章研究几下以个功能: 视频录制 从相册选择视频 保持视频到相册 获取视频帧图 压缩并导出视频 解决iOS8上录视频引起的偏移bug 需要真机测试,才能录制视频! 效果图 视频录制 首先,我们弹出系统的视频录制界面,也就是UIImagePickerController控制器来实现,但是我们需要验证用户授权,只有有录制视频的权限,才能继续往下. 我们还需要判断UIImag

java获取视频第一帧工具类

java获取视频文件第一帧,为了防止黑画面,此例取第五帧,本例子采用maven形式 1. pom.xml 添加引用jar包 jdk采用1.8,日志自行添加即可,这里使用的是log4j2 <!-- log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.

Android -- 获取视频第一帧缩略图

干货 从API 8开始,新增了一个类: android.media.ThumbnailUtils这个类提供了3个静态方法一个用来获取视频第一帧得到的Bitmap,2个对图片进行缩略处理. public static Bitmap createVideoThumbnail (String filePath, int kind) 第一个参数是视频文件的路径,第二个参数是指定图片的大小,有两种选择Thumbnails.MINI_KIND与Thumbnails.MICRO_KIND. 第一种文档上说大小

Android之使用MediaMetadataRetriever类获取视频第一帧

一.首先,来介绍一下MediaMetadataRetriever类,此类位于android.media包下,这里,先附上可查看此类的API地址:MediaMetadataRetriever类.大家能够自行查看. 1.MediaMetadataRetriever类概述:MediaMetadataRetriever class provides a unified interface for retrieving frame and meta data from an input media fil

Android视频处理 --处理视频第一帧缩略图

从API 8开始,新增了一个类: android.media.ThumbnailUtils这个类提供了3个静态方法一个用来获取视频第一帧得到的Bitmap,2个对图片进行缩略处理. ? 1 public static Bitmap createVideoThumbnail (String filePath, int kind) 第一个参数是视频文件的路径,第二个参数是指定图片的大小,有两种选择Thumbnails.MINI_KIND与Thumbnails.MICRO_KIND. 第一种文档上说大

Android之使用ThumbnailUtils类来获取视频第一帧缩略图

一.首先,来介绍ThumbnailUtils类,此类位于android.media包下,此类有一个公有的无参构造函数,有三个静态的公有方法,一个用来获取视频第一帧得到的Bitmap,另外两个方法用来对图片进行缩略处理. 1.无参的构造函数:ThumbnailUtils() 2.三个静态的公有方法: (1).创建一个视频缩略图的方法: public static Bitmap createVideoThumbnail(String filePath, int kind) 第一个参数为视频文件的

Java截取视频首帧并旋转正向

package test; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.

视频丢帧(详解)

1.丢帧的出现 说起视频播放器大家都很熟悉了,覆盖各种平台,使用简单操作方面,但是视频播放器里面的原理却非常的复杂,牵扯到很多方面的知识点.今天我们来探讨一下当视频解码和渲染的总时间大于了视频指定的时间时,就会出现声音比画面快的情况,单个画面延后的时间在人眼不能察觉的范围内还是能接受的,但是如此累计起来就会造成这个延迟的加大,导致后面声话完全不同步,这是不能接受的,那么为了解决这种问题,视频“丢帧”就出现了. 2.视频播放原理 我们看到的视频其实就是一幅一幅的图片组成的,就和电影一样的原理,在很

摄像头v4l2编写,实现视频在帧缓冲显示

申明:该文档只是记录我的编写和理解过程,代码部分参考了较多的文章,如有意见请联系我删除,谢谢. 目标: 使用v4l2提供API,完成摄像头视频采集,并使用帧缓存显示. 准备工作: USB摄像头1个 编译环境(我用的是PC+Ubuntu14.04) 了解大概情况,查看如下网址,基本情况应该没问题了:http://baike.baidu.com/item/V4L2?sefr=enterbtn 框架理解: 关键点理解: 摄像头采集的循环buf 必须使用循环buf,否则摄像头采集图像显示不会连续. 摄像