| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- //
- // KSYMediaInfo.h
- // IJKMediaPlayer
- //
- // Created by 施雪梅 on 16/7/3.
- // Copyright © 2016年 kingsoft. All rights reserved.
- //
- #ifndef KSYMediaInfo_h
- #define KSYMediaInfo_h
- #import <Foundation/Foundation.h>
- /**
- * 封装格式
- */
- typedef NS_ENUM(NSInteger, MEDIAINFO_MUX_TYPE) {
- ///未知的文件封装格式
- MEDIAINFO_MUXTYPE_UNKNOWN,
- ///封装格式为TS
- MEDIAINFO_MUXTYPE_MP2T,
- ///封装格式为MOV
- MEDIAINFO_MUXTYPE_MOV,
- ///封装格式为AVI
- MEDIAINFO_MUXTYPE_AVI,
- ///封装格式为FLV
- MEDIAINFO_MUXTYPE_FLV,
- ///封装格式为MKV
- MEDIAINFO_MUXTYPE_MKV,
- ///封装格式为ASF
- MEDIAINFO_MUXTYPE_ASF,
- ///封装格式为RM
- MEDIAINFO_MUXTYPE_RM,
- ///封装格式为WAV
- MEDIAINFO_MUXTYPE_WAV,
- ///封装格式为OGG
- MEDIAINFO_MUXTYPE_OGG,
- ///封装格式为APE
- MEDIAINFO_MUXTYPE_APE,
- ///封装格式为RAWVIDEO
- MEDIAINFO_MUXTYPE_RAWVIDEO,
- ///封装格式为HLS
- MEDIAINFO_MUXTYPE_HLS,
- };
- /**
- * 音视频格式
- */
- typedef NS_ENUM(NSInteger, MEDIAINFO_CODEC_ID) {
- ///未知的音视频编码格式
- MEDIAINFO_CODEC_ID_UNKNOWN,
-
- ///视频编码格式MPEG2
- MEDIAINFO_CODEC_MPEG2VIDEO,
- ///视频编码格式MPEG4
- MEDIAINFO_CODEC_MPEG4,
- ///视频编码格式MJPEG
- MEDIAINFO_CODEC_MJPEG,
- ///视频编码格式JPEG2000
- MEDIAINFO_CODEC_JPEG2000,
- ///视频编码格式H264
- MEDIAINFO_CODEC_H264,
- ///视频编码格式HEVC
- MEDIAINFO_CODEC_HEVC,
- ///视频编码格式VC1
- MEDIAINFO_CODEC_VC1,
-
- ///首个音频编码格式定义(不对应具体的编码格式)
- MEDIAINFO_CODEC_ID_FIRST_AUDIO = 0x10000,
- ///音频编码格式AAC
- MEDIAINFO_CODEC_AAC,
- ///音频编码格式AC3
- MEDIAINFO_CODEC_AC3,
- ///音频编码格式MP3
- MEDIAINFO_CODEC_MP3,
- ///音频编码格式PCM
- MEDIAINFO_CODEC_PCM,
- ///音频编码格式DTS
- MEDIAINFO_CODEC_DTS,
- ///音频编码格式NELLYMOSER
- MEDIAINFO_CODEC_NELLYMOSER,
- };
- /**
- * 音频采样格式
- */
- typedef NS_ENUM(NSInteger, MEDIAINFO_SAMPLE_FMT){
- ///未知的音频采样格式
- MEDIAINFO_SAMPLE_FMT_UNKNOWN,
- ///音频采样格式为unsigned 8 bits
- MEDIAINFO_SAMPLE_FMT_U8,
- ///音频采样格式为signed 16 bits
- MEDIAINFO_SAMPLE_FMT_S16,
- ///音频采样格式为signed 32 bits
- MEDIAINFO_SAMPLE_FMT_S32,
- ///音频采样格式为float
- MEDIAINFO_SAMPLE_FMT_FLT,
- ///音频采样格式为double
- MEDIAINFO_SAMPLE_FMT_DBL,
-
- ///音频采样格式为unsigned 8 bits, planar
- MEDIAINFO_SAMPLE_FMT_U8P,
- ///音频采样格式为signed 16 bits, planar
- MEDIAINFO_SAMPLE_FMT_S16P,
- ///音频采样格式为signed 32 bits, planar
- MEDIAINFO_SAMPLE_FMT_S32P,
- ///音频采样格式为float, planar
- MEDIAINFO_SAMPLE_FMT_FLTP,
- ///音频采样格式为double, planar
- MEDIAINFO_SAMPLE_FMT_DBLP,
-
- ///音频采样格式为Number of sample formats
- MEDIAINFO_SAMPLE_FMT_NB,
- };
- /**
- * 视频信息
- */
- @interface KSYVideoInfo : NSObject
- /**
- 视频编码格式, 具体类型为MEDIAINFO_CODEC_ID
- */
- @property (nonatomic) MEDIAINFO_CODEC_ID vcodec;
- /**
- 视频帧宽度
- */
- @property (nonatomic, assign) int32_t frame_width;
- /**
- 视频帧高度
- */
- @property (nonatomic, assign) int32_t frame_height;
- @end
- /**
- * 音频信息
- */
- @interface KSYAudioInfo : NSObject
- /**
- 音频编码格式, 具体类型为MEDIAINFO_CODEC_ID
- */
- @property (nonatomic) MEDIAINFO_CODEC_ID acodec;
- /**
- 音频语言, 如chinese, english...
- */
- @property (nonatomic) NSString *language;
- /**
- 音频码率
- */
- @property (nonatomic, assign) int64_t bitrate;
- /**
- 声道数
- */
- @property (nonatomic, assign) int32_t channels;
- /**
- 音频采样率
- */
- @property (nonatomic, assign) int32_t samplerate;
- /**
- 音频采样格式, 具体类型为MEDIAINFO_SAMPLE_FMT
- */
- @property (nonatomic, assign) MEDIAINFO_SAMPLE_FMT sample_format;
- /**
- 音频帧大小
- */
- @property (nonatomic, assign) int32_t framesize;
- @end
- /**
- * 媒体信息
- */
- @interface KSYMediaInfo : NSObject
- /**
- 封装格式,具体类型为MEDIAINFO_MUX_TYPE
- */
- @property (nonatomic) MEDIAINFO_MUX_TYPE type;
- /**
- 码率
- */
- @property (nonatomic, assign) int64_t bitrate;
- /**
- 视频总时长,单位是秒
- */
- @property (nonatomic, assign) NSTimeInterval duration;
- /**
- 所有视频流信息,具体对象类型为KSYVideoInfo
- */
- @property (nonatomic) NSMutableArray *videos;
- /**
- 所有音频流信息,具体对象类型为KSYAudioInfo
- */
- @property (nonatomic) NSMutableArray *audios;
- @end
- #endif /* KSYMediaInfo_h */
|