通视频URL截取第一帧图片
为了方便直接给UIImage加个类别,以后什么时候使用可以直接调用。
#import <UIKit/UIKit.h>
@interface UIImage (Video)
/**
通过视频URL获取视频的第一帧图片
@param videoURL 视频连接
@return 第一帧图片
*/
+ (UIImage *)interceptFirstTimeVideoPicture:(NSURL *)videoURL;
@end
-----------------------------------分割线------------------------
#import "UIImage+Video.h"
#import <AVFoundation/AVFoundation.h>
@implementation UIImage (Video)
+ (UIImage *)interceptFirstTimeVideoPicture:(NSURL *)videoURL{
// 根据视频的URL创建AVURLAsset
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
// 根据AVURLAsset创建AVAssetImageGenerator对象
AVAssetImageGenerator* gen = [[AVAssetImageGenerator alloc] initWithAsset: asset];
gen.appliesPreferredTrackTransform = YES;
// 定义获取0帧处的视频截图
CMTime time = CMTimeMake(0, 10);
NSError *error = nil;
CMTime actualTime;
// 获取time处的视频截图
CGImageRef image = [gen copyCGImageAtTime: time actualTime: &actualTime error:&error];
// 将CGImageRef转换为UIImage
UIImage *thumb = [[UIImage alloc] initWithCGImage: image];
CGImageRelease(image);
return thumb;
}
@end
注意点:
使用AVAssetImageGenerator这个类是要记得导入#import <AVFoundation/AVFoundation.h>头文件。
通视频URL截取第一帧图片的更多相关文章
- 七牛云上传视频并截取第一帧为图片(js实现)
本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问 ...
- (腾讯视频)iOS开发之视频根据url获取第一帧图片,获取任一帧图片
#import <AVFoundation/AVFoundation.h> + (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL at ...
- 第五十二篇、 OC获取视频的第一帧图片thumbnailImage
获取视频的第一帧图片 有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到. 我们的思路是先获取视频的URL,然后初始化一个MPMo ...
- 关于ffmpeg /iis 8.5 服务器下,视频截取第一帧参数配置
ffmpeg 视频截取第一帧参数配置: 网站找了很多资料,但是都不能满足要求,然后自己写下解决过程. 首先看自己PHP 版本,安全选项里面 php5.4 跟php5.6 是不一样的.去除里面的sys ...
- python提取视频第一帧图片
一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...
- 在Android中如何获取视频的第一帧图片并显示在一个ImageView中
String path = Environment.getExternalStorageDirectory().getPath(); MediaMetadataRetriever media = n ...
- DxPackNet 2.视频截图和捕捉帧图片
在上一节的基础上 打开了摄像头后: 1.视频截图------调用 CatchBmp 方法即可获取当前帧的 bmp 图像, //调用截屏函数 获取当前图片 Bitmap bmp = camCaptur ...
- 通过 ffmpeg 获取视频第一帧(指定时间)图片
最近做一个上传教学视频的方法,上传视频的同时需要上传视频缩略图,为了避免用户上传的缩略图与视频内容不符,经理要求直接从上传的视频中截图视频的某一帧作为缩略图,并给我推荐了FFMPEG.FFMPEG 功 ...
- iOS截取视频某一帧图片(关键帧,AVAssetImageGenerator)
获取第一帧图片 导入 AVFoundation.Framework.CoreMedia.Framework 实现代码例如以下: + (UIImage*) thumbnailImageForVideo: ...
随机推荐
- Codeforces Round #390 (Div. 2) A+B+D!
A. Lesha and array splitting 水题模拟.(0:10) 题意:给你一个n个元素的数组,求能否把这个数组分成若干连续小段,使得每段的和不为0.如有多种解输出任意一个. 思路:搞 ...
- iOS中的过滤器和正则表达式(NSPredicate,NSRegularExpression)
参考链接:http://www.cocoachina.com/industry/20140321/8024.html NSPredicate Cocoa提供了一个NSPredicate类,它用来指定过 ...
- 使用Unity做2.5D游戏教程(一)
最近在研究Unity 3D,看了老外Marin Todorov写的教程很详细,就翻译过来以便自己参考,翻译不好的地方请多包涵. 如果你不了解2.5D游戏是什么,它基本上是个3D游戏而你可以想象是压扁的 ...
- 【Luogu】P1131时态同步(树形DP)
题目链接 甚矣吾衰也!这么简单的DP我都不会了 太恐怖了 树形DP,从子树里选出时间最长的来,剩下的调到这个最长时间即可. #include<cstdio> #include<cct ...
- POJ——3984迷宫问题(BFS+回溯)
迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14568 Accepted: 8711 Description ...
- [BZOJ1578] [Usaco2009 Feb]Stock Market 股票市场(DP)
传送门 可以看出 第一天买,第三天卖 == 第一天买,第二天卖完再买,第三天卖 所以我们只考虑前一天买,后一天卖即可 那么有按天数来划分 f[i][j]表示前i天,共有j元,最大的盈利 第一维可以省去 ...
- Bzoj2007 [Noi2010]海拔(平面图最短路)
2007: [Noi2010]海拔 Time Limit: 20 Sec Memory Limit: 552 MBSubmit: 2742 Solved: 1318[Submit][Status] ...
- Linux(14):集群架构进阶 --- CentOS 7
CentOS 7 CentOS 7 管理软件常用命令: vim /etc/selinux/config # 修改 SELINUX 开机自启动与否 setenforce 0 # 关闭 SELINUX g ...
- Codevs 2855 游乐园的迷宫
2855 游乐园的迷宫 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 迷宫可是每个游乐园必不可少的项目,菜菜当然是要尝试一下啦. ...
- Java面试题集(二)
51.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1,写出程序. 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题. public class ThreadTest1 ...