AVFoundation基础_1

1.一个视频文件的基本属性

mvhd(movie header)
时长,创建时间,

preferredRate和preferredVolume:文件的默认速度和默认音量,一般从mvhd取出,默认值都是1;

2.AVAsset

duration 是一个结构体(CMTime)

typedef struct
{
    CMTimeValue    value;       
    CMTimeScale    timescale;    
    CMTimeFlags    flags;        
    CMTimeEpoch    epoch;        
} CMTime;

3.AVAssetTrack

在mvhd下面我们看到有三个通道,一般的视频至少有两个通道,一个视频,一个音频。AVFoundation中有一个专门的类承载多媒体中的track:AVAssetTrack。
打开track我们会发现里边也有一个tkhd(track header),其中包含了通道的基本信息。

trackid,在AVAsset中可以通过trackid来获取某一个通道.

4.元数据

下面有一个meta和udta,里边保存着视频的元数据。

8种媒体类型

AVF_EXPORT NSString *const AVMediaTypeVideo                 
AVF_EXPORT NSString *const AVMediaTypeAudio                 
AVF_EXPORT NSString *const AVMediaTypeText                  
AVF_EXPORT NSString *const AVMediaTypeClosedCaption         
AVF_EXPORT NSString *const AVMediaTypeSubtitle              
AVF_EXPORT NSString *const AVMediaTypeTimecode              
AVF_EXPORT NSString *const AVMediaTypeMetadata          
AVF_EXPORT NSString *const AVMediaTypeMuxed    

AVMediaFormat中一共定义了15种媒体特征:

AVF_EXPORT NSString *const AVMediaTypeMetadataObject NS_AVAILABLE_IOS(9_0);
AVF_EXPORT NSString *const AVMediaCharacteristicVisual      NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVMediaCharacteristicAudible     NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVMediaCharacteristicLegible     NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVMediaCharacteristicFrameBased  NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT NSString *const AVMediaCharacteristicIsMainProgramContent NS_AVAILABLE(10_8, 5_0);
AVF_EXPORT NSString *const AVMediaCharacteristicIsAuxiliaryContent NS_AVAILABLE(10_8, 5_0);
AVF_EXPORT NSString *const AVMediaCharacteristicContainsOnlyForcedSubtitles NS_AVAILABLE(10_8, 5_0);
AVF_EXPORT NSString *const AVMediaCharacteristicTranscribesSpokenDialogForAccessibility NS_AVAILABLE(10_8, 5_0);
AVF_EXPORT NSString *const AVMediaCharacteristicDescribesMusicAndSoundForAccessibility NS_AVAILABLE(10_8, 5_0);
AVF_EXPORT NSString *const AVMediaCharacteristicEasyToRead NS_AVAILABLE(10_8, 6_0);
AVF_EXPORT NSString *const AVMediaCharacteristicDescribesVideoForAccessibility NS_AVAILABLE(10_8, 5_0);
AVF_EXPORT NSString *const AVMediaCharacteristicLanguageTranslation NS_AVAILABLE(10_11, 9_0);
AVF_EXPORT NSString *const AVMediaCharacteristicDubbedTranslation NS_AVAILABLE(10_11, 9_0);
AVF_EXPORT NSString *const AVMediaCharacteristicVoiceOverTranslation NS_AVAILABLE(10_11, 9_0);

你可能感兴趣的:(AVFoundation基础_1)