视频录制 AVCaptureSession + AVCaptureMovieFileOutput ---- 我们先把利用AVCaptureSession + AVCaptureMovieFileOutput 4、有了输入当然也就有 AVCaptureMovieFileOutput,把它添加给AVCaptureSession对象。 8、好了,用我们的AVCaptureMovieFileOutput 的 startRecordingToOutputFileURL 开始录制吧。 不同点:输出不一致 AVCaptureMovieFileOutput 只需要一个输出即可,指定一个文件路后,视频和音频会写入到指定路径,不需要其他复杂的操作。 我们再说说第一种方式,在微信官方优化视频录制文章中有这样一段话: “于是用AVCaptureMovieFileOutput(640*480)直接生成视频文件,拍视频很流畅。
} } } //配置输出设备 let captureMovieFileOutput = AVCaptureMovieFileOutput 在视频捕获时,客户端可以实例化AVCaptureSession并添加适当的AVCaptureInputs、AVCaptureDeviceInput和输出,比如AVCaptureMovieFileOutput private var captureMovieFileOutput: AVCaptureMovieFileOutput! private var videoUrl: URL? } } } //配置输出设备 let captureMovieFileOutput = AVCaptureMovieFileOutput
session.commitConfiguration() // 3.保存最新的input self.videoInput = newInput 录制视频写入文件 fileprivate var movieOutput: AVCaptureMovieFileOutput 在开始采集音视频的时候就要开始写入文件 // 开始写入文件 // 1、创建写入文件的输出 let fileOutput = AVCaptureMovieFileOutput() self.movieOutput
AVMediaTypeVideo/AVMediaTypeAudio 不能直接给AVCaptureSession 使用 需要借助AVCaptureDeviceInput AVCaptureDeviceInput 源输入 AVCaptureMovieFileOutput self.imageOutput]) { [self.captureSession addOutput:self.imageOutput]; } //创建一个AVCaptureMovieFileOutput 实例,用于将Quick Time 电影录制到文件系统 self.movieOutput = [[AVCaptureMovieFileOutput alloc]init]; //输出连接
AVCaptureOutput 同样,AVCaptureOutput 也是抽象类,常用的有:AVCaptureMovieFileOutput,AVCaptureVideoDataOutput,AVCaptureAudioDataoutput
AVCaptureOutput AVCaptureOutput 是一个抽象类,有很多具体的实现类,如AVCaptureVideoDataOutput、AVCaptureMovieFileOutput等。
420YpCbCr8BiPlanarVideoRange(nv12 420v) kCVPixelFormatType_420YpCbCr8BiPlanarFullRange(nv12 420f) AVCaptureStillImageOutput 图片 AVCaptureMovieFileOutput
多个输入输出设备 如图,input 可以有一个或多个输入端口,output 也可以有一个或多个数据来源(如:一个 AVCaptureMovieFileOutput 对象可以接收视频数据和音频数据) 当添加
---- 在该系列的上一篇的文章中,我们总结的大致内容如下: 1、视频录制 AVCaptureSession + AVCaptureMovieFileOutput 2、视频录制 AVCaptureSession + AVAssetWriter 3、AVCaptureSession + AVCaptureMovieFileOutput 与 AVCaptureSession
---- 在该系列的上一篇的文章中,我们总结的大致内容如下: 1、视频录制 AVCaptureSession + AVCaptureMovieFileOutput 2、视频录制 AVCaptureSession + AVAssetWriter 3、AVCaptureSession + AVCaptureMovieFileOutput 与 AVCaptureSession
之前使用 AVCaptureStillImageOutput AVCaptureVideoDataOutput 记录视频并提供视频帧输出 AVCaptureFileOutput 捕获文件输出超类 AVCaptureMovieFileOutput
为了实现实时的图像捕获,要实现AVCaptureSession类,添加合适的输入(AVCaptureDeviceInput)和输出(比如 AVCaptureMovieFileOutput) 调用startRunning
于是用AVCaptureMovieFileOutput(640*480)直接生成视频文件,拍视频很流畅。
可以有多种类型,本文将着重介绍 AVCaptureVideoDataOutput,就是能直接拿到原始视频数据的 output 类型,其他类型比如 AVCaptureStillImageOutput、AVCaptureMovieFileOutput
} 视频——AVCaptureVideoDataOutput AVCaptureVideoDataOutput(视频数据输出):它输出硬件实时捕捉的视频数字样本,还有一个音频和视频输出类是AVCaptureMovieFileOutput
除了使用多个视频数据输出之外,从 iOS 16 和 iPadOS 16 开始,应用程序可以在从 AVCaptureVideoDataOutput 和 AVCaptureAudioDataOutput 接收数据的同时使用 AVCaptureMovieFileOutput