美文网首页
视频采集

视频采集

作者: DDY | 来源:发表于2016-11-01 17:51 被阅读49次

视频录制

视频录制大体上有两种方式:UIImagePickerController方式和AVFoundation方式,前者简单易用但是不利于定制和一些复杂操作,后者反之。

* UIImagePickerController视频录制
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus == AVAuthorizationStatusRestricted
    || authStatus == AVAuthorizationStatusDenied) {
  NSLog(@"摄像头已被禁用,您可在设置应用程序中进行开启");
  return;
}
 
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
  UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  picker.delegate = self;
  picker.allowsEditing = YES;
  picker.sourceType = UIImagePickerControllerSourceTypeCamera;
  picker.videoQuality = UIImagePickerControllerQualityType640x480; //录像质量
  picker.videoMaximumDuration = 5 * 60.0f; // 限制视频录制最多不超过5分钟
  picker.mediaTypes = @[(NSString *)kUTTypeMovie];
  [self presentViewController:picker animated:YES completion:NULL];
  self.shouldAsync = YES;
} else {
  NSLog(@"手机不支持摄像");
} 
* AVFoundation视频录制
/**
 *  AVCaptureVideoDataOutputSampleBufferDelegate : 获取实时拍照时视频流
 *  AVCaptureAudioDataOutputSampleBufferDelegate : 获取实时拍照时音频流
 *  AVCaptureMetadataOutputObjectsDelegate : 获取元数据(数据的信息)输出
 *  AVCaptureSession : 媒体(音/视频)捕获会话,负责把捕获的数据输出到输出设备中,可以有多个输入输出
 *  AVCaptureDevice:输入设备(麦克风、摄像头),通过该对象可设置物理设备的属性(相机聚焦、白平衡等)
 *  AVCaptureDeviceInput : 设备输入数据管理对象,可根据AVCaptureDevice创建对应的AVCaptureDeviceInput对象,该对象将会被添加到AVCaptureSession中管理
 *  AVCaptureOutput : 输出数据管理对象,用于接收各类输出数据,通常使用对应的子类AVCaptureAudioDataOutput、AVCaptureStillImageOutput、AVCaptureVideoDataOutput、AVCaptureFileOutput,该对象将会被添加到AVCaptureSession中管理。注意:前面几个对象的输出数据都是NSData类型,而AVCaptureFileOutput代表数据以文件形式输出,类似的,AVCaptureFileOutput也不会直接创建使用,通常会使用其子类:AVCaptureAudioFileOutput、AVCaptureMovieFileOutput。当把一个输入或者输出添加到AVCaptureSession之后AVCaptureSession就会在所有相符的输入、输出设备之间建立连接(AVCaptionConnection)
 *  AVCaptureConnection : 根据设备输出获得连接
 *  CMFormatDescriptionRef : 格式描述
 *  CIFilter : 滤镜
 *  搜索所有可用的滤镜名称
 *  Swift : let filterNames = CIFilter.filterNamesInCategory(kCICategoryBuiltIn) as [String]
 *  OC :    [CIFilter filterNamesInCategories:@[(NSString *)kCICategoryBuiltIn]]
 *
 *  AVAssetWriter : 可以方便的将图像和音频写成一个完整的视频文件
 *
 *  CMTime : Core Media中精确表示时间
 *  CIContext : CoreImage中上下文
 *  EAGLContext : openGL ES中上下文
 *
 *  AVMutableAudioMixInputParameters : 输入参数可变的音频混合
 *  audioMixInputParametersWithTrack : 音频混音输入参数与轨道
 */

视频录制拼接

附 :

系统权限

例如 :
[DDYAuthorityMaster cameraAuthorizedSuccess:^{
// 已经获得权限
} fail:^{
// 无权限时处理,防止crash
}];

播放器
AVF 和 ImgPicker

相关文章

  • iOS-音视屏采集

    概述 音视屏采集分音频采集和视频采集 在iOS中,可以同步采集音频和视频 采集的API在AVFoundation框...

  • iOS - 采集音视频及写入文件

    �音视频采集包括两部分:视频采集和音频采集。在iOS中可以同步采集视频与音频,通过系统框架AVFoundation...

  • 视频采集

    视频采集 相关类的介绍: [ ] AVCaptureDevice:硬件设备,包括麦克风、摄像头,通过该对象可以设置...

  • 视频采集

    采集步骤 导入框架相关API主要在AVFoundation框架中,因此需要先导入框架 创建捕捉会话(AVCaptu...

  • 视频采集

    视频录制 视频录制大体上有两种方式:UIImagePickerController方式和AVFoundation方...

  • 采集以及写入

    采集视频 概述 音视频采集是直播架构的第一环,是视频的来源其实视频的采集有多个应用场景:比如二维码开发 音视频采集...

  • iOS视频采集以及写入二

    概述 音视频采集包括两部分:视频采集音频采集 在iOS开发中,是可以同步采集视频&音频的,使用方式也非常简单 相关...

  • GPUImage(三):视频滤镜GPUImageFilter高阶

    GPUImage(一):视频采集GPUImageVideoCamera介绍了GPUImage视频采集类GPUIma...

  • Metal应用--捕捉摄像头&即刻渲染

    视频采集 视频采集流程如下: 使用AVFoundation调用摄像头进行采集 采集完成后的数据存放在CMSampl...

  • iOS 音频采集

    采集方式 音频采集可以参考上次的视频采集方式,在里面添加相应的音频采集即可,只不过可定制型不强。(视频采集[htt...

网友评论

      本文标题:视频采集

      本文链接:https://www.haomeiwen.com/subject/hnemuttx.html