视频帧截取

#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@property(nonatomic ,strong)AVAssetImageGenerator * generatorl;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    //获取资源路径
    NSURL * url  = [[NSBundle mainBundle]URLForResource:@"Alizee_La_Isla_Bonita副本.mp4" withExtension:nil];

    //包装

    AVAsset * set = [AVAsset assetWithURL:url];

    //创建视频截取器

    AVAssetImageGenerator * generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:set];

    self.generatorl = generator;

    CMTime  time = CMTimeMake(10, 1);
    //
    NSValue * value = [NSValue valueWithCMTime:time];

    //截取视频 ( 这个方法截取的不准确)
    [generator generateCGImagesAsynchronouslyForTimes:@[value] completionHandler:^(CMTime requestedTime, CGImageRef  _Nullable image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error) {

        UIImage * images = [UIImage imageWithCGImage:image];

        dispatch_sync(dispatch_get_main_queue(), ^{

            self.imageView.image = images;

        });

    }];

}

  

时间: 2024-10-06 16:42:03

视频帧截取的相关文章

七牛云上传视频并截取第一帧为图片(js实现)

本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问题,可能是视频源的问题:canvas也能截取,但是有点小bug,比如会截成黑色或白色的图片). 上传一个和上传多个视频 demo运行点这里 需要参数:token值,七牛云域名 *逻辑: 上传一个视频: 点击上传按钮,获取token值,选中视频后开始上传.input file会获取文件的大小,文件名等

视频 -&gt; 帧 浅析

项目要求根据服务器返回的视频和秒数,生成该视频的预览图. 网上一搜关键词 “iOS 视频 帧” 结果都是:iOS如何获取视频的第一帧. 但是如果我不想要第一帧,要第s秒的第x帧怎么办? 先贴如何获取第一帧的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - (UIImage*) getVideoPreViewImage { AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoPath options:n

FFMPEG系列课程(二)读取视频帧

再来介绍下如何读取视频帧,打开视频参考前面的文章,首先需要创建一个帧的存放对象 AVPacket pkt; memset(&pkt, 0, sizeof(AVPacket)); 再通过 int err = av_read_frame(ic, &pkt); 读取帧数据,其中ic是之前打开的视频流句柄.读取视频帧后要注意一点av_read_frame会自动给视频帧分配空间,返回值0表示成功. 可以通过 av_packet_unref(&pkt);删除packet的控制,注意这里删除的不

如何在视频中截取一段 电脑录制视频方法

应该会有很多人都会使用到录屏工具,虽然不是天天使用,但是也成为了日常生活中不可少的一项功能,很多时候我们可能会用来录制影视剧中的一个片段或者是比较经典的一部分,但是如何在视频中截取一段呢?其实很简单,相信下面给大家分享的方法,你们一看便知. 使用工具: 电脑 操作方法: 1.我们在工作之余,经常会选择在浏览器上观看一些视频或者直播来放松自己,有时候我们会碰到自己特别喜爱的视频,想要把其中的某些片段给录制下来,然后通过剪辑和特效制作成好玩的短视频,那么如何截取片段呢?其实步骤很简单,下面就来分享视

利用ffmpeg获取视频帧

如果要对视频帧进行处理,可以先把视频帧读取出来. sh文件代码如下: #!/usr/bin/env sh VIDEO=/home/xxx/video/ FRAMES=/home/xxx/frame/ echo "Extract Frames..." for avi in $VIDEO/*.avi do FOLDER=$(basename $avi.avi) rm -rf $FOLDER mkdir $FRAMES/$FOLDER ffmpeg -i $avi -q:v 2 -f ima

ffmpeg-python 任意提取视频帧

? 环境准备 1.安装 FFmpeg 音/视频工具 FFmpeg 简易安装文档 2.安装 ffmpeg-python pip3 install ffmpeg-python 3.[可选]安装 opencv-python pip3 install opencv-python 4.[可选]安装 numpy pip3 install numpy ? 视频帧提取 准备视频素材 抖音视频素材下载:https://anoyi.com/dy/top 基于视频帧数提取任意一帧 import ffmpeg impo

RTSP播放器网页web无插件直播流媒体音视频播放器EasyPlayer-RTSP-Android解码获取视频帧的方法

应用场景 EasyPlayer-RTSP在多年与VLC的对标过程中,积累了广泛的应用场景,EasyPlayer-RTSP底层与上层全部自主开发,自主知识产权,可实战测试. EasyPlayer-RTSP播放器 EasyPlayer-RTSP播放器是一套RTSP专用的播放器,包括有:Windows(支持IE插件,npapi插件).Android.iOS三个平台,是由青犀TSINGSEE开放平台开发和维护的区别于市面上大部分的通用播放器,EasyPlayer-RTSP系列从2014年初发展至今得到了

opencv之从视频帧中截取图片

最近在训练一个人脸识别的模型,而项目训练需要大量真实人脸图片样本. 刚好项目用到opencv识别人脸,可以把每一帧图片保存下来,用此方法可以方便的获取大量的脸部样本,大约20分钟可以获取到10000张. #-*- encoding:utf8 -*- import cv2 import os import sys import random # 获取分类器 classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml

FFmpeg的使用&mdash;&mdash;PHP转换视频、截取视频以及JW Player播放器控制

转载:http://blog.csdn.net/zm2714/article/details/7916440 给朋友做的一个项目中,涉及到上传视频.转换视频.自动截取已上传视频内容中的一帧做为缩略图片.本篇记录在完成这篇项目过程中的所掌握的一些知识以及经验教训. 上传视频这块暂时不说了,在项目中关于上传这一块涉及进度条的问题,总觉得的不够完美.虽然目前已解决这一块内容,但上传大文件来说,在某些方面仍不够100%的符合要求.有时间在整理这一块.在这篇文章中,由于是在整理这个项目内容,所以有关上传方