AVAssetWriterInputPixelBufferAdaptor
Наследование
-
NSObject
-
AVAssetWriterInputPixelBufferAdaptor
-
NSObject
-
AVAssetWriterInputPixelBufferAdaptor
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 4.1 и позже.
Вы используете AVAssetWriterInputPixelBufferAdaptor
добавлять видео выборки, упакованные как CVPixelBuffer, возражает против сингла AVAssetWriterInput
объект.
Экземпляры AVAssetWriterInputPixelBufferAdaptor
предоставьте CVPixelBufferPool, который можно использовать для выделения пиксельных буферов для записи в выходной файл. Используя предоставленный пиксельный пул буферов для распределения буферов обычно более эффективно, чем добавление пиксельных буферов выделило использование отдельного пула.
-
Возвращает новый пиксельный буферный адаптер для получения пиксельных буферов для записи в выходной файл.
Объявление
Objective C
+ (instancetype)assetWriterInputPixelBufferAdaptorWithAssetWriterInput:(AVAssetWriterInput *)
input
sourcePixelBufferAttributes:(NSDictionary *)sourcePixelBufferAttributes
Параметры
input
Писатель актива ввел, к которому получатель должен добавить пиксельные буферы.
В настоящее время, только вводы писателя актива, принимающие данные носителей типа
AVMediaTypeVideo
может использоваться для инициализации пиксельного буферного адаптера.Это - ошибка передать демонстрационный буферный ввод, который уже присоединен к другому экземпляру
AVAssetWriterInputPixelBufferAdaptor
.sourcePixelBufferAttributes
Атрибуты пиксельных буферов, которые будут продаваться CVPixelBufferPool ввода.
Пиксельные буферные ключи атрибутов для пиксельного пула буферов определяются в
<CoreVideo/CVPixelBuffer.h>
. Использовать в своих интересах повышенную эффективность добавления буферов создало из пиксельного пула буферов адаптера, необходимо указать пиксельные буферные атрибуты, наиболее близко размещающие исходный формат добавляемых видеокадров.Передача
nil
если Вам не нужен пиксельный пул буферов для выделения буферов.Возвращаемое значение
Новый пиксель буферизует адаптер для получения пиксельных буферов для записи в выходной файл.
Обсуждение
Указать тип формата пикселя,
pixelBufferAttributes
словарь должен содержать значение для kCVPixelBufferPixelFormatTypeKey. Например, использовать[NSNumber numberWithInt:kCVPixelFormatType_32BGRA]
для 8 битов за канал BGRA или использование[NSNumber numberWithInt:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]
для YCbCr с 2 плоскостями.Оператор импорта
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 4.1 и позже.
-
init (assetWriterInput:sourcePixelBufferAttributes:) - initWithAssetWriterInput:sourcePixelBufferAttributes:
Инициализирует новый пиксельный буферный адаптер для получения пиксельных буферов для записи в выходной файл.
Объявление
Swift
init!(assetWriterInput
input
: AVAssetWriterInput!, sourcePixelBufferAttributessourcePixelBufferAttributes
: [NSObject : AnyObject]!)Objective C
- (instancetype)initWithAssetWriterInput:(AVAssetWriterInput *)
input
sourcePixelBufferAttributes:(NSDictionary *)sourcePixelBufferAttributes
Параметры
input
Писатель актива ввел, к которому получатель должен добавить пиксельные буферы.
В настоящее время, только вводы писателя актива, принимающие данные носителей типа
AVMediaTypeVideo
может использоваться для инициализации пиксельного буферного адаптера.Это - ошибка передать демонстрационный буферный ввод, который уже присоединен к другому экземпляру
AVAssetWriterInputPixelBufferAdaptor
.sourcePixelBufferAttributes
Атрибуты пиксельных буферов, которые будут продаваться CVPixelBufferPool ввода.
Пиксельные буферные ключи атрибутов для пиксельного пула буферов определяются в
<CoreVideo/CVPixelBuffer.h>
. Использовать в своих интересах повышенную эффективность добавления буферов создало из пиксельного пула буферов адаптера, необходимо указать пиксельные буферные атрибуты, наиболее близко размещающие исходный формат добавляемых видеокадров.Передача
nil
если Вам не нужен пиксельный пул буферов для выделения буферов.Возвращаемое значение
Пиксельный буферный адаптер, инициализированный для получения пиксельных буферов для записи в выходной файл.
Обсуждение
Указать тип формата пикселя,
pixelBufferAttributes
словарь должен содержать значение для kCVPixelBufferPixelFormatTypeKey. Например, использовать[NSNumber numberWithInt:kCVPixelFormatType_32BGRA]
для 8 битов за канал BGRA или использование[NSNumber numberWithInt:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]
для YCbCr с 2 плоскостями.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-
Добавляет пиксельный буфер к получателю.
Объявление
Swift
func appendPixelBuffer(_
pixelBuffer
: CVPixelBuffer!, withPresentationTimepresentationTime
: CMTime) -> BoolObjective C
- (BOOL)appendPixelBuffer:(CVPixelBufferRef)
pixelBuffer
withPresentationTime:(CMTime)presentationTime
Параметры
pixelBuffer
CVPixelBuffer, который будет добавлен.
presentationTime
Время представления для пикселя буферизует, чтобы быть добавленным. Это время рассмотрят относительно времени, переданного - [AVAssetWriter startSessionAtSourceTime:] для определения синхронизации кадра в выходном файле.
Возвращаемое значение
YES
true
если пиксельный буфер был успешно добавлен, иначеNO
false
.Обсуждение
Если работа неуспешна, пишущий, что актив перестал работать. Вы не должны вызывать
finishWriting
.Специальные замечания
Не изменяйте a
CVPixelBuffer
или его содержание после передачи его этому методу.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
assetWriterInput
СвойствоПисатель актива ввел, к которому адаптер должен добавить пиксельные буферы. (только для чтения)
Объявление
Swift
var assetWriterInput: AVAssetWriterInput! { get }
Objective C
@property(nonatomic, readonly) AVAssetWriterInput *assetWriterInput
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-
pixelBufferPool
СвойствоПиксельный пул буферов, который продаст и эффективно переработает объекты CVPixelBuffer, которые могут быть добавлены к получателю. (только для чтения)
Объявление
Swift
var pixelBufferPool: CVPixelBufferPool! { get }
Objective C
@property(nonatomic, readonly) CVPixelBufferPoolRef pixelBufferPool
Обсуждение
Для максимальной производительности необходимо создать объекты CVPixelBuffer для
appendPixelBuffer:withPresentationTime:
при помощи этого пула сCVPixelBufferPoolCreatePixelBuffer
функция.Это свойство
NULL
перед первым вызовом кstartSessionAtTime:
на связанномAVAssetWriter
объект.Это свойство является заметным значением ключа.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-
sourcePixelBufferAttributes
СвойствоПиксельные буферные атрибуты пиксельных буферов, которые будут продаваться CVPixelBufferPool адаптера. (только для чтения)
Объявление
Swift
var sourcePixelBufferAttributes: [NSObject : AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSDictionary *sourcePixelBufferAttributes
Обсуждение
Значение этого свойства является словарем, содержащим пиксельные буферные ключи атрибутов, определенные в
<CoreVideo/CVPixelBuffer.h>
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.