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

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

Разработчик

Ссылка платформы QTKit ссылка класса QTCaptureDecompressedVideoOutput

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

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

QTCaptureDecompressedVideoOutput

Этот класс представляет выходное место назначения для a QTCaptureSession объект, который может использоваться для обработки распакованных кадров от получаемого видео. Экземпляры QTCaptureDecompressedVideoOutput произведите распакованные видеокадры, подходящие для высококачественной обработки. Поскольку экземпляры поддерживают максимальное качество кадра и избегают отбрасывать кадры, использование этого вывода может привести к сокращенной производительности при получении. Приложения, которые должны обработать распакованные кадры, но могут терпеть отброшенные кадры или падения качества распаковки, должны использовать QTCaptureVideoPreviewOutput вместо этого. Приложения могут получить доступ к распакованным кадрам через captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection: метод делегата. Клиенты могут также создать подклассы QTCaptureDecompressedVideoOutput добавить пользовательское поведение получения.

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


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


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


Swift

import QTKit

Objective C

@import QTKit;

Доступность


Доступный в QuickTime 7.2.1 и позже.
  • Были обработаны возвраты, отбрасывает ли получатель видеокадры, выводящиеся перед более ранними кадрами.

    Объявление

    Objective C

    - (BOOL)automaticallyDropsLateVideoFrames

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

    Этот метод возвраты YEStrue если получатель отбрасывает последние видеокадры и возвращается НЕ иначе.

    Обсуждение

    Если возвращается этот метод YEStrue, получатель отбросит кадры, стоящиеся в очереди, в то время как поток, обрабатывающий существующие кадры, блокируется в outputVideoFrame:withSampleBuffer:fromConnection: или captureOutput:didDropVideoFrameWithSampleBuffer:fromConnection: метод делегата. Метод делегата captureOutput:didDropVideoFrameWithSampleBuffer:fromConnection: будет вызван для каждого отбрасывающегося кадра. Значение по умолчанию NOfalse.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже; QuickTime 7.6.3.

    Осуждаемый в OS X v10.9.

  • Возвращает делегата получателя.

    Объявление

    Objective C

    - (id)delegate

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Устанавливает делегата получателя.

    Объявление

    Objective C

    - (void)setDelegate:(id)delegate

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Устанавливает минимальный временной интервал, между которым получатель должен вывести последовательные видеокадры.

    Объявление

    Objective C

    - (void)setMinimumVideoFrameInterval:(NSTimeInterval)minimumVideoFrameInterval

    Параметры

    minimumVideoFrameInterval

    NSTimeInterval указание минимального интервала между видеокадрами. Значение 0 указывает, что не должно быть никакого предела частоты кадров.

    Обсуждение

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

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже; QuickTime 7.6.3.

    Осуждаемый в OS X v10.9.

  • Вызванный каждый раз, когда получатель выводит новый видеокадр.

    Объявление

    Objective C

    - (void)outputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer *)sampleBuffer fromConnection:(QTCaptureConnection *)connection

    Параметры

    videoFrame

    Базовый Видео буфер, содержащий распакованный кадр.

    sampleBuffer

    Демонстрационное буферное, содержащее дополнительную информацию о кадре, таком как его время представления.

    connection

    Соединение, из которого было получено видео.

    Обсуждение

    Этот метод не должен быть вызван непосредственно. Подклассы могут переопределить этот метод для обеспечения пользовательского поведения обработки для каждого кадра. Реализация по умолчанию вызывает делегата captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection: метод. Подклассы не должны предполагать, что этот метод вызовут на основном потоке. Кроме того, этот метод периодически вызывают, таким образом, должно быть эффективно предотвратить проблемы производительности получения.

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

    Для быстрого предъявления претензий в отношении ресурсов памяти, после этого метода возвраты, демонстрационные данные, содержавшие в QTSampleBuffer объект будет выпущен с помощью decrementSampleUseCount метод. Клиенты, ссылающиеся на демонстрационный буфер и интересующиеся демонстрационными данными, что это содержит после этого метода возвраты, должны вызвать incrementSampleUseCount на демонстрационном буфере в этом методе, чтобы гарантировать, что данные остаются допустимыми, пока им больше не нужен он (в котором времени они должны вызвать decrementSampleUseCount). Клиенты, ссылающиеся на демонстрационный буфер после этого метода возвраты, но только нуждающиеся в доступе к его метаданным, таким как продолжительность, время представления и другие атрибуты, не должны вызывать incrementSampleUseCount.

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

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

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

    Объявление

    Objective C

    - (NSTimeInterval)minimumVideoFrameInterval

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

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

    Обсуждение

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

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже; QuickTime 7.6.3.

    Осуждаемый в OS X v10.9.

  • Возвращает Базовые Видео пиксельные буферные атрибуты, ранее установленные setPixelBufferAttributes: это определяет, какие пиксельные буферы выводятся получателем.

    Объявление

    Objective C

    - (NSDictionary *)pixelBufferAttributes

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

    Словарь, содержащий пиксель, буферизует атрибуты для буферов, выведенных получателем. Ключи в словаре описаны в CoreVideo/CVPixelBuffer.h. Если возвращаемое значение NIL, тогда выходные буферы получателя с помощью самого быстрого пикселя буферизуют атрибуты.

    Обсуждение

    Этот метод возвращает пиксельные буферные атрибуты, установленные setPixelBufferAttributes: то, что клиенты могут использовать для настройки размера и формата пикселя видеокадров, выведенных получателем. Когда словарь будет ненолем, получатель попытается к буферам выходного пикселя с помощью атрибутов, указанных в словаре. Ненулевой словарь также гарантирует что вывод CVImageBuffer a CVPixelBuffer. Когда значение для kCVPixelBufferPixelFormatTypeKey установлен в NSNumber, все буферы изображения, выведенные получателем, будут в том формате. Когда значение будет NSArray, буферы изображения, выведенные получателем, будут в самом оптимальном формате, указанном в том массиве. Если полученные изображения не будут в том из указанных форматов пикселя, то преобразование формата будет выполняться. Если словарь NIL или нет никакого значения для kCVPixelBufferPixelFormatTypeKey, тогда получатель выведет изображения в самом эффективном формате, данном ввод. Например, если источник будет iSight создание компонента Y'CbCr, 8-разрядного 4:2:2 видео тогда, то Y'CbCr, 8-разрядный 4:2:2, будет использоваться в качестве выходного формата во избежание любых преобразований. Значение по умолчанию для возвращенного словаря NIL.

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

    Objective C

    @import QTKit;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Были обработаны наборы, отбрасывает ли получатель видеокадры, выводящиеся перед более ранними кадрами.

    Объявление

    Objective C

    - (void)setAutomaticallyDropsLateVideoFrames:(BOOL)automaticallyDropsLateVideoFrames

    Параметры

    automaticallyDropsLateVideoFrames

    Должен ли получатель отбросить последние видеокадры.

    Обсуждение

    Установка этого к YEStrue заставит получатель отбрасывать кадры, стоящиеся в очереди, в то время как поток, обрабатывающий существующие кадры, блокируется в outputVideoFrame:withSampleBuffer:fromConnection: или captureOutput:didDropVideoFrameWithSampleBuffer:fromConnection: метод делегата. Метод делегата captureOutput:didDropVideoFrameWithSampleBuffer:fromConnection: будет вызван для каждого отбрасывающегося кадра. Значение по умолчанию NOfalse.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже; QuickTime 7.6.3.

    Осуждаемый в OS X v10.9.

  • Устанавливает пиксельные буферные атрибуты CoreVideo, определяющие, какие пиксельные буферы выводятся получателем.

    Объявление

    Objective C

    - (void)setPixelBufferAttributes:(NSDictionary *)pixelBufferAttributes

    Параметры

    pixelBufferAttributes

    Словарь, содержащий пиксель, буферизует атрибуты для буферов, которые будут выведены получателем. Ключи в словаре описаны в CoreVideo/CVPixelBuffer.h. Если словарь NIL, тогда выходные буферы получателя с помощью самого быстрого пикселя буферизуют атрибуты.

    Обсуждение

    Эти наборы метода пиксельный буфер приписывает это клиенты, могут использовать для настройки размера и формата пикселя видеокадров, выведенных получателем. Когда словарь будет ненолем, получатель попытается к буферам выходного пикселя с помощью атрибутов, указанных в словаре. Ненулевой словарь также гарантирует что вывод CVImageBuffer a CVPixelBuffer. Когда значение для kCVPixelBufferPixelFormatTypeKey установлен в NSNumber, все буферы изображения, выведенные получателем, будут в том формате. Когда значение будет NSArray, буферы изображения, выведенные получателем, будут в самом оптимальном формате, указанном в том массиве. Если полученные изображения не будут в том из указанных форматов пикселя, то преобразование формата будет выполняться. Если словарь NIL или нет никакого значения для kCVPixelBufferPixelFormatTypeKey, тогда получатель выведет изображения в самом эффективном формате, данном ввод. Например, если источник будет iSight создание компонента Y'CbCr, 8-разрядного 4:2:2 видео тогда, то Y'CbCr, 8-разрядный 4:2:2, будет использоваться в качестве выходного формата во избежание любых преобразований.

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

    Objective C

    @import QTKit;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Вызванный один раз для каждого кадра, отбрасывающегося когда automaticallyDropsLateVideoFrames установлен в YEStrue.

    Объявление

    Objective C

    - (void)captureOutput:(QTCaptureOutput *)captureOutput didDropVideoFrameWithSampleBuffer:(QTSampleBuffer *)sampleBuffer fromConnection:(QTCaptureConnection *)connection

    Обсуждение

    Когда automaticallyDropsLateVideoFrames установлен в YEStrue, этот метод вызывают каждый раз, когда отбрасывается последний видеокадр. Этот метод вызывают один раз для каждого отброшенного кадра и можно вызвать перед вызовом к outputVideoFrame:withSampleBuffer:fromConnection: или captureOutput:didDropVideoFrameWithSampleBuffer:fromConnection: метод делегата, во время которого те кадры были отброшены возвраты. QTSampleBuffer объект передал этому методу делегата, будет содержать метаданные об отброшенном видеокадре, таком как его продолжительность и метка времени представления, но не будет содержать фактических видеоданных. Делегаты не должны предполагать, что этот метод вызовут на основном потоке. Поскольку этот метод можно вызвать на том же потоке, который ответственен за вывод видеокадров, должно быть эффективно предотвратить дальнейшие проблемы производительности получения, такие как дополнительные отброшенные видеокадры.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже; QuickTime 7.6.3.

    Осуждаемый в OS X v10.9.

  • Вызванный каждый раз, когда предварительный просмотр видео вывел выводы новый видеокадр.

    Объявление

    Objective C

    - (void)captureOutput:(QTCaptureOutput *)captureOutput didOutputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer *)sampleBuffer fromConnection:(QTCaptureConnection *)connection

    Обсуждение

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

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

    Для быстрого предъявления претензий в отношении ресурсов памяти, после этого метода возвраты, демонстрационные данные, содержавшие в QTSampleBuffer объект будет выпущен с помощью decrementSampleUseCount метод. Клиенты, ссылающиеся на демонстрационный буфер и интересующиеся демонстрационными данными, что это содержит после этого метода возвраты, должны вызвать incrementSampleUseCount на демонстрационном буфере в этом методе, чтобы гарантировать, что данные остаются допустимыми, пока им больше не нужен он (в котором времени они должны вызвать decrementSampleUseCount). Клиенты, ссылающиеся на демонстрационный буфер после этого метода возвраты, но только нуждающиеся в доступе к его метаданным, таким как продолжительность, время представления и другие атрибуты, не должны вызывать incrementSampleUseCount.

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

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.