文档章节

截取指定时间的视频缩略图

asjoker
 asjoker
发布于 2016/02/15 14:48
字数 212
阅读 225
收藏 2


/**

 *  截取指定时间的视频缩略图

 *

 *  @param timeBySecond 时间点

 */

-(void)thumbnailImageRequest:(CGFloat )timeBySecond{

    //创建URL

    NSURL *url=[self getFileUrl];

    //根据url创建AVURLAsset

    AVURLAsset *urlAsset=[AVURLAsset assetWithURL:url];

    //根据AVURLAsset创建AVAssetImageGenerator

    AVAssetImageGenerator *imageGenerator=[AVAssetImageGenerator assetImageGeneratorWithAsset:urlAsset];

    /*截图

     * requestTime:缩略图创建时间

     * actualTime:缩略图实际生成的时间

     */

    NSError *error=nil;

    CMTime time=CMTimeMakeWithSeconds(timeBySecond, 10);//CMTime是表示电影时间信息的结构体,第一个参数是视频第几秒,第二个参数时每秒帧数.(如果要活的某一秒的第几帧可以使用CMTimeMake方法)

    CMTime actualTime;

    CGImageRef cgImage= [imageGenerator copyCGImageAtTime:time actualTime:&actualTime error:&error];

    if(error){

        NSLog(@"截取视频缩略图时发生错误,错误信息:%@",error.localizedDescription);

        return;

    }

    CMTimeShow(actualTime);

    UIImage *image=[UIImage imageWithCGImage:cgImage];//转化为UIImage

    //保存到相册

    UIImageWriteToSavedPhotosAlbum(image,nil, nil, nil);

    CGImageRelease(cgImage);

}


© 著作权归作者所有

上一篇: 启动页面设置
asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
私信 提问
win10 uwp 获得缩略图

有时候需要获得文件或视频的缩略图。 本文提供两个方法,用于获得文件的缩略图和截取视频指定时间的显示图片。 文件缩略图 如果有一个文件需要获得缩略图,可以使用 或 ,就可以获得。代码请...

lindexi_gd
2017/06/29
0
0
通过视频的URL来获取该视频的第一帧作为缩略图

在网上看到很多获取视频第一帧(哪一帧都可以,只要能获得)作为缩略图的方法都是用 AVFoundation框架,我自己用了网上找的代码并测试了下,无法获得第一帧图片。代码如下,希望有做过的朋友...

小远ing
2016/04/18
1K
0
电影缩略图生成工具--Image Grabber

Image Grabber II 是用来生成电影缩略图的工具(非开源),按时间段自动截取电影缩略图,方便快捷。 Image Grabber II 是款相当老的软件了,上次更新应该在 2005 年,小众竟然没有推荐过。试...

匿名
2009/09/01
1K
0
PHP中利用Ffmpeg获得flv视频缩略图和播放时间

这里简单说一下:FFmpeg是用于录制、转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库。官方正式版ffmpeg不支持rmvb和rm格式. 不过有很多解决方法 FFmpeg的官方网址是 http...

5D同学
2012/04/16
1K
0
ffmpeg转换视频并截图,flvplay.swf播放视频

在项目中需要上传视频,并且需要使用播放器播放视频。客户要求播放器要显示一个缩略图。在网上搜并参看了相关的书籍,提供了一下的解决方案,采用ffmpeg进行视频转换并从视频中截取相应的帧作...

yeyuhuayue
2013/10/21
1K
8

没有更多内容

加载失败,请刷新页面

加载更多

Andorid SQLite数据库开发基础教程(2)

Andorid SQLite数据库开发基础教程(2) 数据库生成方式 数据库的生成有两种方式,一种是使用数据库管理工具生成的数据库,我们将此类数据库称为预设数据库,另一种是使用代码生成的数据库。...

大学霸
24分钟前
3
0
YecPad 开源啦!: 基于C#的功能强大的可编辑记事本文本编辑软件

JY Lin 开源:YecPad : 基于C#的功能强大的可编辑记事本文本编辑软件 YecPad 是一款基于C#编程语言开发的功能强大的可编辑记事本文本编辑软件。 可以进行文本文件的打开、保存、删除及编辑功...

YDOOK
32分钟前
3
0
StringBuilder 与 StringBuffer 的区别

StringBuffer是线性安全的,支持并发操作,适合多线程。 StringBuilder线性不安全,不支持并发操作,适合单线程。 也就是说他们俩区别就在于支不支持并发操作,使用上基本上类似...

无名氏的程序员
34分钟前
3
0
js 找数组中的最值

本文转载于:专业的前端网站➸js 找数组中的最值 背景: 2个数组以下 , 比如 [[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]] 找最值的时候,我一开始想用两个...

前端老手
43分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部