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 *)trackoutputSettings:(NSDictionary *)outputSettingsПараметры
trackДорожка, от которой читатель должен получить демонстрационные буферы.
outputSettingsСловарь выходных настроек, которые будут использоваться для демонстрационного вывода.
Вы используете ключи от одного из AVAudioSettings.h,
Video_Settings, илиCVPixelBufferRef, В зависимости от типа среды и требуемого выходного формата.Значение
nilконфигурирует вывод для продажи выборок в их исходном формате, как сохраненный указанной дорожкой.Если выходные настройки не могут использоваться с указанной дорожкой, инициализация перестала работать.
Возвращаемое значение
Читатель актива, переносящийся
track, использование установки, определеннойoutputSettings,nilесли инициализация перестала работать.Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует читателя актива для обертывания указанной дорожки, с дополнительными выходными настройками.
Объявление
Swift
init!(tracktrack: AVAssetTrack!, outputSettingsoutputSettings: [NSObject : AnyObject]!)Objective C
- (instancetype)initWithTrack:(AVAssetTrack *)trackoutputSettings:(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 и позже.
