AVAssetReaderTrackOutput
AVAssetReaderTrackOutput
определяет интерфейс для чтения данных носителей из сингла AVAssetTrack
объект актива читателя актива.
Можно считать данные носителей дорожки актива путем добавления экземпляра AVAssetReaderTrackOutput
читателю актива, использующему AVAssetReader
метод addOutput:
. Выборки в дорожке могут быть считаны в формате, в котором они сохранены в активе или могут быть преобразованы в другой формат.
AVAssetReaderTrackOutput
класс может только произвести несжатый вывод. Для настроек аудиовыхода это означает это AVFormatIDKey
должен быть kAudioFormatLinearPCM
. Для настроек видеовыхода это означает, что словарь должен содержать значения для несжатого видеовыхода, как определено в Video_Settings
. AVAssetReaderTrackOutput
не поддерживает AVSampleRateConverterAudioQualityKey
ключ или следующий Video_Settings
ключи: AVVideoCleanApertureKey
, AVVideoPixelAspectRatioKey
, AVVideoScalingModeKey
, или AVVideoColorPropertiesKey
ключ.
При построении настроек видеовыхода выбор формата пикселя будет влиять на производительность и качество распаковки. Для оптимальной производительности при распаковке видео требуемый формат пикселя должен быть тем, который декодер поддерживает исходно для предотвращения ненужных преобразований. Ниже некоторые рекомендации:
Для использования H.264
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange
, илиkCVPixelFormatType_420YpCbCr8BiPlanarFullRange
если видео, как известно, является полным спектром.На использовании iOS
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
для вывода JPEG.Для других кодеков на OS X,
kCVPixelFormatType_422YpCbCr8
предпочтительный формат пикселя для видео и обычно обеспечивает лучшую производительность при декодировании. Если необходимо работать в домене RGB, рекомендуется это на iOSkCVPixelFormatType_32BGRA
значение используется, и на OS XkCVPixelFormatType_32ARGB
рекомендуется.Закодированные носители ProRes могут содержать до 12bits/ch. Если Вашим источником является закодированный ProRes, и Вы хотите сохранить больше, чем 8bits/ch во время распаковки тогда используют один из следующих форматов пикселя:
kCVPixelFormatType_4444AYpCbCr16
,kCVPixelFormatType_422YpCbCr16
,kCVPixelFormatType_422YpCbCr10
, илиkCVPixelFormatType_64ARGB
.AVAssetReader
не поддерживает масштабирование ни с одним из этих высоких форматов пикселя битовой глубины. Если Вы используете их, тогда не указываютkCVPixelBufferWidthKey
илиkCVPixelBufferHeightKey
вoutputSettings
словарь. Если Вы планируете добавить эти, выборка буферизует кAVAssetWriterInput
тогда обратите внимание на то, что только кодеры ProRes поддерживают эти форматы пикселя.Закодированные носители ProRes 4444 могут содержать математически альфа-канал без потерь. Для сохранения альфа-канала во время распаковки используют формат пикселя с альфа-компонентом такой как
kCVPixelFormatType_4444AYpCbCr16
илиkCVPixelFormatType_64ARGB
. Протестировать, содержит ли Ваш источник проверку альфа-канала, что описание формата дорожки имеет akCMFormatDescriptionExtension_Depth
ключ и что его значение равняется 32.
Наследование
-
NSObject
-
AVAssetReaderOutput
-
AVAssetReaderTrackOutput
-
NSObject
-
AVAssetReaderOutput
-
AVAssetReaderTrackOutput
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает читателя актива, обертывающего указанную дорожку, с дополнительными выходными настройками.
Объявление
Objective C
+ (instancetype)assetReaderTrackOutputWithTrack:(AVAssetTrack *)
track
outputSettings:(NSDictionary *)outputSettings
Параметры
track
Дорожка, от которой читатель должен получить демонстрационные буферы.
outputSettings
Словарь выходных настроек, которые будут использоваться для демонстрационного вывода.
Вы используете ключи от одного из AVAudioSettings.h,
Video_Settings
, илиCVPixelBufferRef
, В зависимости от типа среды и требуемого выходного формата.Значение
nil
конфигурирует вывод для продажи выборок в их исходном формате, как сохраненный указанной дорожкой.Если выходные настройки не могут использоваться с указанной дорожкой, инициализация перестала работать.
Возвращаемое значение
Читатель актива, переносящийся
track
, использование установки, определеннойoutputSettings
,nil
если инициализация перестала работать.Оператор импорта
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует читателя актива для обертывания указанной дорожки, с дополнительными выходными настройками.
Объявление
Swift
init!(track
track
: AVAssetTrack!, outputSettingsoutputSettings
: [NSObject : AnyObject]!)Objective C
- (instancetype)initWithTrack:(AVAssetTrack *)
track
outputSettings:(NSDictionary *)outputSettings
Параметры
track
Дорожка, от которой читатель должен получить демонстрационные буферы.
outputSettings
Словарь выходных настроек, которые будут использоваться для демонстрационного вывода. Передача
nil
получить выборки, как сохраненный в дорожке.Вы используете ключи от одного из AVAudioSettings.h,
Video_Settings
, илиCVPixelBufferRef
, В зависимости от типа среды и требуемого выходного формата.Значение
nil
конфигурирует вывод для продажи выборок в их исходном формате, как сохраненный указанной дорожкой.Если выходные настройки не могут использоваться с указанной дорожкой, инициализация перестала работать.
Возвращаемое значение
Читатель актива, переносящийся
track
, использование установки, определеннойoutputSettings
,nil
если инициализация перестала работать.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
outputSettings outputSettings
СвойствоВыходные настройки используются выводом. (только для чтения)
Объявление
Swift
var outputSettings: [NSObject : AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSDictionary *outputSettings
Обсуждение
Значение является словарем, содержащим значения для ключей от также
Linear_PCM_Format_Settings
для аудиотреков илиCVPixelBufferRef
для видеотреков. Значениеnil
указывает, что вывод возвратит выборки в их исходном формате, как сохраненный в целевой дорожке.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
Дорожка, из которой получатель читает демонстрационные буферы. (только для чтения)
Объявление
Swift
var track: AVAssetTrack! { get }
Objective C
@property(nonatomic, readonly) AVAssetTrack *track
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
Алгоритм обработки раньше управлял аудио подачей для масштабированных аудио редактирований.
Объявление
Swift
var audioTimePitchAlgorithm: String!
Objective C
@property(nonatomic, copy) NSString *audioTimePitchAlgorithm
Обсуждение
Поддерживаемые константы определяются в
Time Pitch Algorithm Settings
.NSInvalidArgumentException
если это свойство будет установлено в значение кроме определенных констант, будет повышен.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.9 и позже.