IOS批量截取视频截图

//生成截图

NSString *path = [NSHomeDirectory() stringByAppendingString:@"/Documents"];

NSLog(@"path %@", path);

for (int i =
0; i<[mItems count]; i++) {

NSMutableDictionary *info = (NSMutableDictionary *)mItems[i]; //视频信息

NSString *mediaPath;

mediaPath = [[NSBundle mainBundle] pathForResource:[info objectForKey:@"mediaName"]

ofType:[info objectForKey:@"type"]];

UIImage *image = [self getImage:mediaPath];

[UIImageJPEGRepresentation(image, 1) writeToFile:[path stringByAppendingPathComponent:[NSString stringWithFormat:@"file%d.jpg", i]] atomically:YES];

}

// 获取指定位置的视频的截屏

-(UIImage *)getImage:(NSString *)videoURL{

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

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

gen.appliesPreferredTrackTransform =
YES;

CMTime time =
CMTimeMakeWithSeconds(20.5,
600);  //  參数( 截取的秒数。 视频每秒多少帧)

NSError *error = nil;

CMTime actualTime;

CGImageRef image = [gen
copyCGImageAtTime:time actualTime:&actualTime
error:&error];

UIImage *thumb = [[UIImage
alloc] initWithCGImage:image];

CGImageRelease(image);

return thumb;

}

IOS批量截取视频截图 UIImage mp4 IOS Video的更多相关文章

  1. ios——MPMoviePlayerController截取视频缩略图 播放视频又可以截取视频缩略图

    #import <AVKit/AVKit.h>#import <MediaPlayer/MediaPlayer.h>#import "ViewController.h ...

  2. 【iOS】控件截图、MP4格式视频流和m3u8格式视频流截取某一帧功能的实现

    最近开发遇到一个点击按钮实现直播视频流截屏的功能,去网上查了一下资料,总结了一下iOS中截屏相关的知识,然后自己做了个demo. demo主要实现了3种截屏方法,分别对应三种不同的应用场景. 1.im ...

  3. iOS 对网络视频采集视频截图

    在播放网络视频是  经常可以看到播放按钮下面是该制品的某个截图 : 一般情况下  后台服务器是可以把视频截图一起返回给你 你直接拿到图片显示就可以了 但是当后台没有提供时  我们也可以根据视频地址 自 ...

  4. ios 获取视频截图

    #pragma mark -- 获取视频截图- (UIImage *)getThumbnailImage:(NSString *)videoURL{     AVURLAsset *asset = [ ...

  5. js实现视频截图,视频批量截图,canvas实现

    截取视频的某一时间的图像并保存 利用canvas的绘画能力画出视频某一帧的视频画面, 获得到图像之后转换成base64图像, 再利用a标签的实现自动保存到本地 html代码 <!DOCTYPE ...

  6. 使用ffmpeg截取视频封面并批量上传

    需求:将视频文件压入zip包,然后上传服务器.服务器对zip解压,使用bat/shell,使用ffmpeg对视频进行封面截取.再使用OSS对视频和封面进行批量上传.最后将信息存入数据库 遇到的问题 1 ...

  7. iOS截取视频缩略图的两种方法

    前言: 看完了使用MPMoviePlayerController播放在线视频,在实际应用中有时候须要获取视频的缩略图,我们来看看怎样截取指定时间内的视频缩略图. 一  使用MPMoviePlayerC ...

  8. iOS开发系列--视频处理

    MPMoviePlayerController 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地视频和网络视频 ...

  9. iOS开发系列- 视频MPMoviePlayerController

    MPMoviePlayerController 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地视频和网络视频 ...

随机推荐

  1. 半小时分组统计个数sql

    group by 最后一个时间是多少按多少分组 select count(1), trunc(a.refund_insert_time, 'hh24') + case when to_char(ref ...

  2. C#取色器

    闲来无事,就写了一个取色器.原理其实很简单,只需要两步, 获取鼠标光标的位置, 获取当前鼠标光标的位置的RGB颜色值. 获取鼠标光标的位置: System.Drawing.Point p = Mous ...

  3. CTF中的EXP编写技巧 zio库的使用

    zio库没有提供文档 这个是官方给出的一个例子程序 from zio import * io = zio('./buggy-server') # io = zio((pwn.server, 1337) ...

  4. html学习-js

    1.js介绍 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理.js能使 ...

  5. ORA-12537: TNS:connection closed错误处理过程

    https://blog.csdn.net/mchdba/article/details/50018571

  6. fedora下中文输入fcitx4.0

    fedora12,14下使用fcitx输入法可用,切换ctrl+space

  7. Web前端开发最佳实践(2):前端代码重构

    前言 代码重构是业内经常讨论的一个热门话题,重构指的是在不改变代码外部行为的情况下进行源代码修改,所以重构之前需要考虑的是重构后如何才能保证外部行为不改变.对于后端代码来说,可以通过大量的自动化测试来 ...

  8. mongoDB学习第二天之常用方法

    mongoDB LIMIT 和 SKIP 方法 db.colName.find().limit(num)  # limit 方法接收一个数字参数,该参数指定读取的记录条数 (db.colName.fi ...

  9. Java常用工具类之发送邮件

    package com.csice.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  10. nyoj 311 dp 完全背包

    完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w. ...