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 *)inputsourcePixelBufferAttributes:(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!(assetWriterInputinput: AVAssetWriterInput!, sourcePixelBufferAttributessourcePixelBufferAttributes: [NSObject : AnyObject]!)Objective C
- (instancetype)initWithAssetWriterInput:(AVAssetWriterInput *)inputsourcePixelBufferAttributes:(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)pixelBufferwithPresentationTime:(CMTime)presentationTimeПараметры
pixelBufferCVPixelBuffer, который будет добавлен.
presentationTimeВремя представления для пикселя буферизует, чтобы быть добавленным. Это время рассмотрят относительно времени, переданного - [AVAssetWriter startSessionAtSourceTime:] для определения синхронизации кадра в выходном файле.
Возвращаемое значение
YEStrueесли пиксельный буфер был успешно добавлен, иначеNOfalse.Обсуждение
Если работа неуспешна, пишущий, что актив перестал работать. Вы не должны вызывать
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 и позже.
