文档章节

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

asjoker
 asjoker
发布于 2016/02/15 14:48
字数 212
阅读 219
收藏 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
776
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
0
0
ffmpeg转换视频并截图,flvplay.swf播放视频

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

yeyuhuayue
2013/10/21
0
8

没有更多内容

加载失败,请刷新页面

加载更多

Node 框架接入 ELK 实践总结

我们都有过上机器查日志的经历,当集群数量增多的时候,这种原始的操作带来的低效率不仅给我们定位现网问题带来极大的挑战,同时,我们也无法对我们服务框架的各项指标进行有效的量化诊断,更...

嫣然丫丫丫
31分钟前
1
0
PostgreSQL 调用 Rust 函数内存耗用研究

开始看 PostgreSQL 的文档,以为对于那些 .so 形式的二进制扩展函数,比如用 C 语言编写的、Rust 编写的等,PG 会把它们装载到每个连接的内存里去。 因为 Rust 现在编译出来的二进制文件还比...

helloclia
31分钟前
2
0
HTTP Authorization Base64 验证

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.nio.charset.Charset;import java.util.B......

laolin23
32分钟前
1
0
Spring Cloud Finchley.SR1 的学习与应用 7 - 服务容错保护 Hystrix

Hystrix 分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况,这种现象被称为服务雪崩效应。为了应对服务雪崩,一种常见的做法是手动服务降级。而 Hystrix 的出现,给我们提...

张shieppp
35分钟前
2
0
PHP利用多进程处理任务(一篇写得比较容易理解的多进程文章)

 PHP多进程一般应用在PHP_CLI命令行中执行php脚本,不要在web访问时使用。   多进程处理分解任务一般要比单进程更快。 php查看是否安装多进程模块: php -m | grep pcntl (pcntl是proce...

hansonwong
36分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部