Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы AVFoundation ссылка класса AVCaptureVideoDataOutput

Опции
Развертывание Target:

На этой странице
Язык:

AVCaptureVideoDataOutput

Наследование


Соответствует


Оператор импорта


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


Доступный в iOS 4.0 и позже.

AVCaptureVideoDataOutput конкретный подкласс AVCaptureOutput Вы используете, чтобы обработать несжатые кадры от видео, получаемого или получить доступ к сжатым кадрам.

Экземпляр AVCaptureVideoDataOutput производит видеокадры, можно обработать использование других носителей APIs. Можно получить доступ к кадрам с captureOutput:didOutputSampleBuffer:fromConnection: метод делегата.

  • videoSettings Свойство

    Настройки сжатия для вывода.

    Объявление

    Swift

    var videoSettings: [NSObject : AnyObject]!

    Objective C

    @property(nonatomic, copy) NSDictionary *videoSettings

    Обсуждение

    Словарь содержит значения для ключей настроек сжатия, определенных в Video Settings, или пиксельный буфер приписывает ключи, определенные в CVPixelBufferRef. Единственный ключ, в настоящее время поддерживаемый, kCVPixelBufferPixelFormatTypeKey ключ.

    Получить возможные значения для поддерживаемых видео форматов пикселя (kCVPixelBufferPixelFormatTypeKey) и форматы видеокодека (AVVideoCodecKey), посмотрите availableVideoCVPixelFormatTypes и availableVideoCodecTypes соответственно.

    Для получения выборок в их собственном формате устройства установите это свойство в nil:

    • AVCaptureVideoDataOutput *myVideoOutput; // assume this exists
    • myVideoOutput.videoSettings = nil; // receives samples in device format

    Если Вы устанавливаете это свойство в nil и затем впоследствии запросите его, Вы получаете словарь, отражающий настройки, используемые текущими сеансами получения sessionPreset.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • minFrameDuration (iOS 5.0) Свойство

    Минимальная продолжительность кадра.

    Оператор осуждения

    Используйте AVCaptureConnection класс videoMinFrameDuration свойство вместо этого.

    Объявление

    Objective C

    @property(nonatomic) CMTime minFrameDuration

    Обсуждение

    Это свойство указывает минимальную продолжительность каждого видеокадра, выведенного получателем, помещая нижнюю границу в количество времени, которое должно разделить последовательные кадры. Это эквивалентно инверсии максимальной частоты кадров. Значение kCMTimeZero или kCMTimeInvalid указывает неограниченную максимальную частоту кадров.

    Значение по умолчанию kCMTimeInvalid.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Доступность

    Доступный в iOS 4.0 и позже.

    Осуждаемый в iOS 5.0.

  • Указывает, отбрасываются ли видеокадры, если они поступают поздно.

    Объявление

    Swift

    var alwaysDiscardsLateVideoFrames: Bool

    Objective C

    @property(nonatomic) BOOL alwaysDiscardsLateVideoFrames

    Обсуждение

    Когда значение этого свойства YEStrue, объект сразу отбрасывает кадры, полученные, в то время как очередь отгрузки, обрабатывающая существующие кадры, блокируется в captureOutput:didOutputSampleBuffer:fromConnection: метод делегата.

    Когда значение этого свойства NOfalse, делегатам разрешают больше времени для обработки старых кадров, прежде чем новые кадры будут отброшены, но использование памяти приложения может увеличиться значительно в результате.

    Значение по умолчанию YEStrue.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • Указывает рекомендуемые настройки для использования с AVAssetWriterInput.

    Объявление

    Swift

    func recommendedVideoSettingsForAssetWriterWithOutputFileType(_ outputFileType: String!) -> [NSObject : AnyObject]!

    Objective C

    - (NSDictionary *)recommendedVideoSettingsForAssetWriterWithOutputFileType:(NSString *)outputFileType

    Параметры

    outputFileType

    Указывает UTI типа файла, который будет записан. Посмотрите File Format UTIs для поддерживаемых типов.

    Возвращаемое значение

    Полностью заполненный словарь ключей и значений, которые совместимы с AVAssetWriter.

    Обсуждение

    Значение этого свойства NSDictionary содержа значения для ключей настроек сжатия, определенных в Video Settings.

    Этот словарь подходит для использования в качестве outputSettings параметр при создании AVAssetWriterInput следующим образом:

    • [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo outputSettings:outputSettings sourceFormatHint:hint];

    Словарь возвратился, содержит все необходимые ключи и оценивает необходимый AVAssetWriter. Посмотрите AVAssetWriterInput класс initWithMediaType:outputSettings: метод для более подробно обсуждения.

    Для фильма в формате QuickTime и типов файлов ISO, рекомендуемые параметры видео произведут вывод, сопоставимый с тем из AVCaptureMovieFileOutput.

    Обратите внимание на то, что словарь настроек зависит от текущей конфигурации получателя AVCaptureSession и его вводы. Словарь настроек может измениться если изменения конфигурации сеанса. Также, сконфигурируйте свой сеанс сначала, затем запросите рекомендуемые параметры видео.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • Указывает поддерживаемые видео форматы пикселя, которые могут быть указаны в videoSettings. (только для чтения)

    Объявление

    Swift

    var availableVideoCVPixelFormatTypes: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *availableVideoCVPixelFormatTypes

    Обсуждение

    Значение этого свойства является массивом NSNumber объекты можно использовать в качестве значений для kCVPixelBufferPixelFormatTypeKey в videoSettings свойство. Первый формат в возвращенном списке является самым эффективным выходным форматом.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 5.0 и позже.

  • availableVideoCodecTypes Свойство

    Указывает поддерживаемые форматы видеокодека, которые могут быть указаны в videoSettings. (только для чтения)

    Объявление

    Swift

    var availableVideoCodecTypes: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *availableVideoCodecTypes

    Обсуждение

    Значение этого свойства является массивом NSString объекты можно использовать в качестве значений для AVVideoCodecKey в videoSettings свойство. Первый формат в возвращенном списке является самым эффективным выходным форматом.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 5.0 и позже.

  • Устанавливает демонстрационного буферного делегата и очередь, на которую должны быть вызваны обратные вызовы.

    Объявление

    Swift

    func setSampleBufferDelegate(_ sampleBufferDelegate: AVCaptureVideoDataOutputSampleBufferDelegate!, queue sampleBufferCallbackQueue: dispatch_queue_t!)

    Objective C

    - (void)setSampleBufferDelegate:(id<AVCaptureVideoDataOutputSampleBufferDelegate>)sampleBufferDelegate queue:(dispatch_queue_t)sampleBufferCallbackQueue

    Параметры

    sampleBufferDelegate

    Объект, соответствующий AVCaptureVideoDataOutputSampleBufferDelegate протокол, который получит демонстрационные буферы после того, как они будут получены.

    sampleBufferCallbackQueue

    Очередь, на которую должны быть вызваны обратные вызовы. Необходимо использовать последовательную очередь отгрузки, чтобы гарантировать, что видеокадры будут поставлены в порядке.

    sampleBufferCallbackQueue параметр может не быть NULL, кроме тех случаев, когда установка sampleBufferDelegate к nil.

    Обсуждение

    Когда новый видео демонстрационный буфер получен, он отправляется демонстрационному буферному делегату, использующему captureOutput:didOutputSampleBuffer:fromConnection:. Все методы делегата вызываются на указанную очередь отгрузки.

    Если очередь будет блокирована, когда новые кадры будут получены, то те кадры будут автоматически отброшены за один раз определенные значением alwaysDiscardsLateVideoFrames свойство. Это позволяет Вам обрабатывать существующие кадры на той же очереди, не имея необходимость управлять потенциальными увеличениями использования памяти, которые иначе произошли бы, когда та обработка неспособна не отставать от уровня входящих кадров.

    Если Ваша обработка кадра последовательно неспособна не отставать от уровня входящих кадров, необходимо рассмотреть использование minFrameDuration свойство, которое будет обычно приводить к лучшим показателям производительности и большему количеству непротиворечивых частот кадров, чем одно только отбрасывание кадра.

    Если необходимо минимизировать возможности отбрасываемых кадров, необходимо указать очередь, на которой достаточно мелкая сумма обработки делается за пределами получения демонстрационных буферов. Однако при миграции дополнительной обработки на другую очередь Вы ответственны за обеспечение, что использование памяти не растет без связанного от необработанных кадров.

    Специальные замечания

    Этот метод использование dispatch_retain и dispatch_release управлять очередью.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • sampleBufferDelegate Свойство

    Делегат объекта получения. (только для чтения)

    Объявление

    Swift

    var sampleBufferDelegate: AVCaptureVideoDataOutputSampleBufferDelegate! { get }

    Objective C

    @property(nonatomic, readonly) id< AVCaptureVideoDataOutputSampleBufferDelegate > sampleBufferDelegate

    Обсуждение

    Делегат получает демонстрационные буферы после того, как они будут получены.

    Вы устанавливаете делегата, использующего setSampleBufferDelegate:queue:.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • sampleBufferCallbackQueue Свойство

    Очередь, на которую обратные вызовы делегата должны быть вызваны (только для чтения)

    Объявление

    Swift

    var sampleBufferCallbackQueue: dispatch_queue_t! { get }

    Objective C

    @property(nonatomic, readonly) dispatch_queue_t sampleBufferCallbackQueue

    Обсуждение

    Вы устанавливаете использование очереди setSampleBufferDelegate:queue:.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в iOS 4.0 и позже.