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

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

Разработчик

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

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

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

AVVideoCompositing

AVVideoCompositing протокол определяет свойства и методы, которые должны реализовать пользовательские видео наборщики.

Для каждого объекта Основы AV класса AVPlayerItem, AVAssetExportSession, AVAssetImageGenerator, или AVAssetReaderVideoCompositionOutput это имеет не -nil значение для videoComposition свойство и значение customVideoCompositorClass свойство AVVideoComposition не nil, Основа AV создает и использует экземпляр того пользовательского видео класса наборщика для обработки инструкций, содержавшихся в AVVideoComposition.

Когда Вы присвоитесь, пользовательский видео экземпляр наборщика будет создаваться videoComposition экземпляр AVVideoComposition это связано с различным пользовательским видео классом наборщика, чем объект ранее использовал.

При создании экземпляров пользовательских видео наборщиков Основа AV инициализирует их путем вызова init и затем делает их доступными как значение customVideoCompositor свойство объекта, которому это было присвоено. Тогда можно сделать любую дополнительную установку или конфигурацию пользовательскому наборщику.

Пользовательские видео экземпляры наборщика будут тогда сохранены AV Foundation возразите столько, сколько значение videoComposition свойство указывает, что экземпляр того же пользовательского видео класса наборщика должен использоваться, даже если значение изменяется от одного экземпляра AVVideoComposition к другому экземпляру это связано с тем же пользовательским видео классом наборщика.

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


Не применимый

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


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


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


Доступный в OS X v10.9 и позже.
  • init () - init Требуемый

    Инициализирует экземпляр класса, реализующего протокол составления композита видео. (требуемый)

    Объявление

    Swift

    init()

    Objective C

    - (instancetype)init

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

    Инициализированный экземпляр класса, реализовывая протокол.

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

    Objective C

    @import ObjectiveC;

    Swift

    import ObjectiveC

    Доступность

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

  • Направляет пользовательский видео объект наборщика создать новый пиксельный буфер, составленный асинхронно из набора источников. (требуемый)

    Объявление

    Swift

    func startVideoCompositionRequest(_ asyncVideoCompositionRequest: AVAsynchronousVideoCompositionRequest!)

    Objective C

    - (void)startVideoCompositionRequest:(AVAsynchronousVideoCompositionRequest *)asyncVideoCompositionRequest

    Параметры

    asyncVideoCompositionRequest

    Экземпляр AVAsynchronousVideoCompositionRequest это обеспечивает контекст для требуемого состава.

    Обсуждение

    Пользовательский наборщик, как ожидают, вызовет, или впоследствии или сразу, asyncVideoCompositionRequest объект finishWithComposedVideoFrame: или finishWithError: методы.

    Если Вы намереваетесь закончить представлять кадр после обработки этого сообщения возвраты, необходимо сохранить asyncVideoCompositionRequest пока состав не закончен.

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

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Направляет пользовательский видео объект наборщика отменить или закончить все незаконченные видео запросы состава.

    Объявление

    Swift

    optional func cancelAllPendingVideoCompositionRequests()

    Objective C

    - (void)cancelAllPendingVideoCompositionRequests

    Обсуждение

    После получения этого сообщения пользовательский видео наборщик должен блокировать, пока это или не отменило все незаконченные запросы кадра и вызвало finishCancelledRequest метод для каждого из них. Если отмена не возможна, метод должен блокировать, пока это не закончило обрабатывать всех кадров и вызвало finishWithComposedVideoFrame: метод для каждого из них.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Вызванный, чтобы уведомить пользовательского наборщика, что состав переключится на различный контекст рендеринга. (требуемый)

    Объявление

    Swift

    func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext!)

    Objective C

    - (void)renderContextChanged:(AVVideoCompositionRenderContext *)newRenderContext

    Параметры

    newRenderContext

    Новый контекст рендеринга, который будет обрабатывать видео состав.

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Возвращает пиксельные буферные атрибуты, требуемые видео наборщиком для новых буферов, создаваемых для обработки. (требуемый) (только для чтения)

    Объявление

    Swift

    var requiredPixelBufferAttributesForRenderContext: [NSObject : AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSDictionary *requiredPixelBufferAttributesForRenderContext

    Обсуждение

    Свойство требуется, чтобы обеспечивать a kCVPixelBufferPixelFormatTypeKey введите словарь, вместе с атрибутами, на которые наборщику нужны определенные значения для работы должным образом. Опущенные атрибуты будут предоставлены механизмом состава для обеспечения лучшей производительности. Если атрибут kCVPixelBufferPixelFormatTypeKey ключ не находится в словаре, исключение будет повышено. Значение kCVPixelBufferPixelFormatTypeKey массив kCVPixelFormatType_* константы, как определено в Pixel_Format_Types.

    Значение requiredPixelBufferAttributesForRenderContext получен до создания нового контекста рендеринга; комбинация атрибутов в возвращенном значении и дополнительных атрибутов, предоставленных механизмом состава, будет использоваться в создании последующего pixelBuffers контекста рендеринга.

    Это свойство запрашивается однажды, любой запрос состава отправлен наборщику. Изменение требуемых буферных атрибутов впоследствии не поддерживается.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

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

    Объявление

    Swift

    var sourcePixelBufferAttributes: [NSObject : AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSDictionary *sourcePixelBufferAttributes

    Обсуждение

    Свойство требуется, чтобы обеспечивать a kCVPixelBufferPixelFormatTypeKey введите словарь, вместе с атрибутами, на которые наборщику нужны определенные значения для работы должным образом. Опущенные атрибуты будут предоставлены механизмом состава для обеспечения лучшей производительности. Если атрибут kCVPixelBufferPixelFormatTypeKey ключ не находится в словаре, исключение будет повышено. Значение kCVPixelBufferPixelFormatTypeKey массив kCVPixelFormatType_* константы, как определено в Pixel_Format_Types.

    Если пользовательский наборщик предназначается, чтобы использоваться с AVVideoCompositionCoreAnimationTool создаваемое использование videoCompositionCoreAnimationToolWithAdditionalLayer:asTrackID: метод, kCVPixelFormatType_32BGRA должен быть включен как один из поддерживаемых типов формата пикселя.

    Без вести пропавшие атрибутов будут установлены механизмом состава в значения, позволяющие лучшую производительность.

    Это свойство запрашивается однажды, любой запрос состава отправлен наборщику. Изменение исходных буферных атрибутов впоследствии не поддерживается.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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