首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编程语言

    iOS:AVCaptureSession 通过摄像头获取某一帧的画面

    100); [self.view addSubview:_imgview]; NSError *error = nil; // 1 创建session AVCaptureSession *session = [AVCaptureSession new]; // 2 设置session显示分辨率 if ([[UIDevice currentDevice] userInterfaceIdiom

    3.2K31发布于 2018-09-19
  • 来自专栏日常开发

    iOS 音视频采集要点梳理(1)

    ---- Apple 官网视频采集简要说明 首先通过 Apple 官网视频采集相关资料 说明,我们可以知道完成视频采集,需要 AVCaptureSession 对象调节管理输入源和输出源之间的协作,最后通过 **** AVCaptureSession 用来管理协调输入输出流,可设置分辨率。 视频采集开发基本流程如下: [image 3] 创建 AVCaptureSession // 设置捕获会话并设置分辨率 - (void)setupSession { AVCaptureSession *avCaptureSession = [[AVCaptureSession alloc] init]; // 设置分辨率 avCaptureSession.sessionPreset startRunning]; [avCaptureSession stopRunning]; 获取采集数据 //视频采集数据回调 - (void)captureOutput:(AVCaptureOutput

    1K20编辑于 2021-12-06
  • 来自专栏音视频直播技术专家

    「音视频直播技术」iOS视频采集

    为了方便,iOS定义了AVCaptureSession类来管理这些输入设备,可以通过 AVCaptureSession 打开某个输入设备进行数据采集,或关闭某个输入设备。 AVCaptureSession AVCaptureSession对象用于管理采集活动,协调数据的流入流出。 将 AVCaptureDeviceInput 对像添加到 AVCaptureSession 对象中。 调用 AVCaptureSession 对象的 setSessionPreset 方法进行属性设置。 调用 AVCaptureSession 对象的 startRunning() 方法,开始视频采集。 调用 AVCaptureSession 对像的 stopRunning() 方法,停止视频采集。

    3.5K40发布于 2020-04-02
  • 来自专栏sktj

    IOS 给相机添加滤镜效果

    8 var avCaptureSessionAVCaptureSession! = AVCaptureSession() 36 avCaptureSession.beginConfiguration() 37 avCaptureSession.sessionPreset = AVCaptureDeviceInput(device: captureDevice) 41 if avCaptureSession.canAddInput(deviceInput) 42 { 43 avCaptureSession.addInput(deviceInput) 44 } 45 46 let dataOutput = AVCaptureVideoDataOutput() (dataOutput) 50 { 51 avCaptureSession.addOutput(dataOutput) 52 } 53 54 let queue = DispatchQueue

    1.3K10发布于 2019-07-10
  • 来自专栏DevTips

    01 使用 AVFoundation 构建相机

    本期内容: AVCaptureSession 创建与配置 拍摄一张 Photo 拍摄一张 Live Photos 捕获图像深度及肖像数据 录制视频文件 结束语 02 AVCaptureSession AVCaptureSession 是负责协调沟通 AVCatpureDevice 及 AVCatpueOutput 的中间对象。 03 AVCaptureSession 添加视频采集设备 ? 现在 AVCaptureSession 已经被创建完成,紧接着我们的任务是为它添加具体的采集输入设备 (AVCaptureDevice)。 AVCaptureSession 关联采集设备 在添加设备之前,我们有必要看看 AVCatpureSession 的详细接口。

    3.2K20发布于 2019-11-27
  • 来自专栏sweet_iOS

    AVFoundation框架解析看这里(2)- 媒体捕捉与视频拍摄

    func setCameraConfiguration() { //创建AVCaptureSession对象 let captureSession = AVCaptureSession AVCaptureSession AVCaptureSession:媒体(音、视频)捕获会话,负责把捕获的音视频数据输出到输出设备中。一个AVCaptureSession可以有多个输入输出。 在视频捕获时,客户端可以实例化AVCaptureSession并添加适当的AVCaptureInputs、AVCaptureDeviceInput和输出,比如AVCaptureMovieFileOutput 通过[AVCaptureSession startRunning]开始数据流从输入到输出,和[AVCaptureSession stopRunning]停止输出输入的流动。 对象 let captureSession = AVCaptureSession() self.captureSession = captureSession

    1.5K20发布于 2020-12-23
  • 来自专栏腾讯云终端专家服务

    iOS 音视频采集

    一、iOS音视频采集 iOS的音视频采集用到了AVCaptureSession。 关于AVCaptureSession,苹果的官方文档里的描述如下: AVCaptureSession管理者iOS和macOS的device,通过AVCaptureSession来访问设备。 AVCaptureSession需要一个 AVCaptureInput和一个AVCaptureOutput 作为输入和输出,AVCaptureSession会链接input和output,从而从input 示意图如下: image.png 一个AVCaptureSession可以包含多个input和多个output。中间通过AVCaptureConnection来管理输入和输出。 AVCaptureSession会自动将匹配的input和output用AVCaptureConnection管理起来。具体的逻辑如上图。

    1.5K20发布于 2020-11-27
  • 来自专栏用户4983917的专栏

    从采集方面分析如何快速的开发一个完整的iOS直播app源码

    之后,AVCaptureSession就会在输入、输出设备之间建立连接,而且通过AVCaptureOutput可以获取这个连接对象。 AVCaptureVideoPreviewLayer:相机拍摄预览图层,能实时查看拍照或视频录制效果,创建该对象需要指定对应的AVCaptureSession对象,因为AVCaptureSession包含视频输入数据 AVCaptureSession: 协调输入与输出之间传输数据 系统作用:可以操作硬件设备 工作原理:让App与系统之间产生一个捕获会话,相当于App与硬件设备有联系了, 我们只需要把硬件输入对象和输出对象添加到会话中 捕获音视频步骤: 1.创建AVCaptureSession对象 2.获取AVCaptureDevicel录像设备(摄像头),录音设备(麦克风),注意不具备输入数据功能,只是用来调节硬件设备的配置 中,就会自动让音频输入与输出和视频输入与输出产生连接. 7.创建视频预览图层AVCaptureVideoPreviewLayer并指定媒体会话,添加图层到显示容器layer中 8.启动AVCaptureSession

    82100发布于 2019-04-01
  • 来自专栏DevTips

    AVFoundation 框架介绍

    要开启实时捕获,需要实例化 AVCaptureSession 对象并添加合适的输入和输出。 下面是如何配置捕获设备用以录制音频。 / Create the capture session.AVCaptureSession *captureSession = [[AVCaptureSession alloc] init]; // Lookup AVCaptureInput 为 AVCaptureSession 提供输入数据,是所有输入设备的超类。 需要将 AVCaptureInput 与 AVCaptureSession 相关联,在 AVCaptureSession 上调用addInput: AVCaptureDeviceInput 捕获输入对象 ,用于从 AVCaptureDevice 捕获设备中获取数据 并提供给 AVCaptureSession

    4K11发布于 2019-11-05
  • 来自专栏移动端开发

    AVFoundation 框架初探究(二)

    视频录制  AVCaptureSession + AVCaptureMovieFileOutput ----       我们先把利用AVCaptureSession + AVCaptureMovieFileOutput 把我们的输入对象添加到 AVCaptureSession ,当然这里输入对象是要区分音频和视频对象的,这个具体的代码里面我们说。       4、有了输入当然也就有 AVCaptureMovieFileOutput,把它添加给AVCaptureSession对象。       :       self.captureSession = ({ // 分辨率设置 AVCaptureSession *session = [[AVCaptureSession 视频录制 AVCaptureSession + AVAssetWriter  ----       上面说了AVCaptureSession + AVCaptureMovieFileOutput,现在说说我们的

    2.1K40发布于 2018-03-19
  • 来自专栏直播+

    直播软件开发关于Android、iOS中的视频采集步骤

    5、将 AVCaptureVideoDataOutput 对象添加到 AVCaptureSession对象中。 8、将 AVCaptureDeviceInput 对像添加到 AVCaptureSession 对象中。 9、调用 AVCaptureSession 对象的 setSessionPreset 方法进行属性设置。 11、调用 AVCaptureSession 对象的 startRunning() 方法,开始视频采集。 12、调用 AVCaptureSession 对像的 stopRunning() 方法,停止视频采集。

    1.6K20发布于 2020-08-12
  • 来自专栏视频

    音视频基础能力之 iOS 视频篇(一):视频采集

    针对视频采集,Apple 只给了一套 API,就是 AVCaptureSession,十分简单明了AVCaptureSession 的运行需要有 input 和 outputinput 通常与摄像头设备关联 配置完成后,调用 startRunning 接口即可开始视频采集因此要实现视频采集,AVCaptureSession 简单理解是这个样子采集启动之后,图像数据的流向可以简单理解为这个样子AVCaptureSession language=objc配置分辨率和帧率最简单的方法,通过 AVCaptureSession setSessionPreset 方法设置系统预设的分辨率和帧率,系统提供的 preset 在字面意思中只会体现分辨率信息 不是随时随地都能进行配置的AVCaptureDevice 需要先锁定、再修改参数、最后解锁AVCaptureSession 需要先开始配置、再修改参数、最后结束配置因此配置阶段的流程大致如下// 锁定 ];// 配置 input// 配置 output// 结束配置 AVCaptureSession[self.captureSession commitConfiguration];// 针对 device

    1.1K10编辑于 2024-11-15
  • 来自专栏学海无涯

    iOS开发之扫描二维码

    以后,iOS扫描二维码不需要借助于第三方框架了,苹果在AVFoundation中原生支持了扫描二维码的API,主要涉及到5个类,这5个类在自定义相机或者视频时也用得上,网上有很多介绍,这5个类分别为: AVCaptureSession AVCaptureDeviceInput:设备输入数据管理对象,可以根据AVCaptureDevice创建对应的AVCaptureDeviceInput对象,该对象将会被添加到AVCaptureSession AVCaptureOutput:输出数据管理对象,用于接收各类输出数据,有很多子类,每个子类用途都不一样,该对象将会被添加到AVCaptureSession中管理。 运行环境:Xcode 8.3.2 + iOS 8. 4真机、iOS 10.3.1真机 核心步骤: 1、创建AVCaptureSession会话 2、创建AVCaptureDevice设备 3、创建输入 *session = [[AVCaptureSession alloc]init]; if ([session canSetSessionPreset:AVCaptureSessionPresetHigh

    2.5K40发布于 2018-05-03
  • 来自专栏关键帧Keyframe

    音视频面试题集锦第 16 期

    1)整体框架 通常我们通过 AVCaptureSession 相关的 API 来进行音视频的采集,其中主要组件分为 Input、Output、Session 几个部分: Input:AVCaptureDeviceInput AVCaptureMovieFileOutput 视频文件 AVCaptureAudioDataOutput 音频裸帧 AVCaptureVideoDataOutput 视频裸帧,目前支持三种格式的输出: AVCaptureSession types.count); // 3 种 for (NSNumber *type in types) { NSLog(@"type: %@", type); } 2)视频采集 对于视频采集,一般直接使用 AVCaptureSession 3)音频采集 对于音频采集,除了可以使用 AVCaptureSession 来进行音频采集外,还可以使用 AudioUnit。 使用 AVCaptureSession 可以和视频采集在一起处理,也可以单独创建新的 AVCaptureSession 进行音频采集。

    71910编辑于 2024-02-26
  • 来自专栏阿林前端开发攻城狮

    用代码打开IOS设备的闪光灯

    (device.torchMode == AVCaptureTorchModeOff) { // Create an AV session AVCaptureSession *session = [[AVCaptureSession alloc] init]; // Create device input and add to current session

    1.1K20发布于 2021-10-29
  • 来自专栏高级工程司

    IOS 扫二维码

    AVCaptureMetadataOutputObjectsDelegate> @property(nonatomic,readwrite) bool isScaning; @property(strong,nonatomic)AVCaptureSession AVCaptureVideoPreviewLayer vedioPreviewLayer; @end @implementation HwcScanQRView pragma mark - Propertys -(AVCaptureSession _captureSession) { _captureSession = [[AVCaptureSession alloc] init]; } return _captureSession

    65100发布于 2021-09-22
  • 来自专栏全栈程序员必看

    iOS二维码扫描

    _camera; AVCaptureDeviceInput *_videoInput; AVCaptureStillImageOutput *_imageOutput; AVCaptureSession Error connecting video input: %@", [error localizedDescription]); return; } } 媒体录制“管理进程” AVCaptureSession 将输入添加至设备(_setupCamera方法): //创建录制“管理进程”,将输入添加至设备 _captureSession = [[AVCaptureSession alloc] video input: %@", [error localizedDescription]); return; } _captureSession = [[AVCaptureSession

    1.2K20编辑于 2022-09-12
  • 来自专栏好派笔记

    IOS 扫二维码

    AVCaptureMetadataOutputObjectsDelegate> @property(nonatomic,readwrite) bool isScaning; @property(strong,nonatomic)AVCaptureSession AVCaptureVideoPreviewLayer vedioPreviewLayer; @end @implementation HwcScanQRView pragma mark - Propertys -(AVCaptureSession _captureSession) { _captureSession = [[AVCaptureSession alloc] init]; } return _captureSession

    73230发布于 2021-10-29
  • 来自专栏落影的专栏

    GPUImage详细解析(二)

    1、视频图像采集 :AVCaptureSession GPUImage使用AVFoundation框架来获取视频。 AVCaptureSession类从AV输入设备的采集数据到制定的输出。 为了实现实时的图像捕获,要实现AVCaptureSession类,添加合适的输入(AVCaptureDeviceInput)和输出(比如 AVCaptureMovieFileOutput) 调用startRunning AVCaptureSession使用的简单示例: _captureSession = [[AVCaptureSession alloc] init]; [_captureSession beginConfiguration

    1.8K30发布于 2018-04-27
  • 来自专栏LinXunFeng的专栏

    iOS - 视频采集详解

    苹果官方文档-AVFoundation 为了管理从相机或者麦克风等这样的设备捕获到的信息,我们需要输入对象(input)和输出对象(output),并且使用一个会话(AVCaptureSession)来管理 AVCaptureDevice 输入设备,例如 摄像头 麦克风 AVCaptureInput 输入端口 [使用其子类] AVCaptureOutput 设备输出 [使用其子类],输出视频文件或者静态图像 AVCaptureSession AVCaptureSession *captureSession = [[AVCaptureSession alloc] init]; // 添加 inputs 和 outputs [session

    1.7K30发布于 2018-06-29
领券