⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mp4.h

📁 完整的RTP RTSP代码库
💻 H
📖 第 1 页 / 共 3 页
字号:
bool MP4SetFloatProperty(	MP4FileHandle hFile, 	const char* propName, 	float value);bool MP4SetStringProperty(	MP4FileHandle hFile, const char* propName, const char* value);bool MP4SetBytesProperty(	MP4FileHandle hFile, const char* propName, 	const u_int8_t* pValue, u_int32_t valueSize);/* track operations */MP4TrackId MP4AddTrack(	MP4FileHandle hFile, 	const char* type);MP4TrackId MP4AddSystemsTrack(	MP4FileHandle hFile, 	const char* type);MP4TrackId MP4AddODTrack(	MP4FileHandle hFile);MP4TrackId MP4AddSceneTrack(	MP4FileHandle hFile);MP4TrackId MP4AddAudioTrack(	MP4FileHandle hFile, 	u_int32_t timeScale, 	MP4Duration sampleDuration,	u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));typedef struct mp4v2_ismacryp_session_params {  u_int32_t  scheme_type;  u_int16_t  scheme_version;  u_int8_t  key_ind_len;  u_int8_t  iv_len;  u_int8_t  selective_enc;  const char   *kms_uri;} mp4v2_ismacrypParams;// API to initialize ismacryp properties to sensible defaults// if input param is null then mallocs a params structmp4v2_ismacrypParams *MP4DefaultISMACrypParams(mp4v2_ismacrypParams *ptr);MP4TrackId MP4AddEncAudioTrack(	MP4FileHandle hFile, 	u_int32_t timeScale, 	MP4Duration sampleDuration,        mp4v2_ismacrypParams *icPp,	u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));MP4TrackId MP4AddAmrAudioTrack(		MP4FileHandle hFile,		u_int32_t timeScale,		u_int16_t modeSet,		u_int8_t modeChangePeriod,		u_int8_t framesPerSample,		bool isAmrWB);void MP4SetAmrVendor(		MP4FileHandle hFile,		MP4TrackId trackId,		u_int32_t vendor);void MP4SetAmrDecoderVersion(		MP4FileHandle hFile,		MP4TrackId trackId,		u_int8_t decoderVersion);void MP4SetAmrModeSet(MP4FileHandle hFile, MP4TrackId trakId, uint16_t modeSet);uint16_t MP4GetAmrModeSet(MP4FileHandle hFile, MP4TrackId trackId);MP4TrackId MP4AddHrefTrack(MP4FileHandle hFile, 			   uint32_t timeScale, 			   MP4Duration sampleDuration,			   const char *base_url DEFAULT(NULL));const char *MP4GetHrefTrackBaseUrl(MP4FileHandle hFile,				   MP4TrackId trackId);MP4TrackId MP4AddVideoTrack(	MP4FileHandle hFile, 	u_int32_t timeScale, 	MP4Duration sampleDuration,	u_int16_t width, 	u_int16_t height,	u_int8_t videoType DEFAULT(MP4_MPEG4_VIDEO_TYPE));MP4TrackId MP4AddEncVideoTrack(	MP4FileHandle hFile, 	u_int32_t timeScale, 	MP4Duration sampleDuration,	u_int16_t width, 	u_int16_t height,        mp4v2_ismacrypParams *icPp,	u_int8_t videoType DEFAULT(MP4_MPEG4_VIDEO_TYPE),	const char *oFormat DEFAULT(NULL));MP4TrackId MP4AddH264VideoTrack(				MP4FileHandle hFile,				u_int32_t timeScale, 				MP4Duration sampleDuration, 				u_int16_t width, 				u_int16_t height, 				uint8_t AVCProfileIndication,				uint8_t profile_compat,				uint8_t AVCLevelIndication,				uint8_t sampleLenFieldSizeMinusOne);MP4TrackId MP4AddEncH264VideoTrack(				MP4FileHandle dstFile,				u_int32_t timeScale, 				MP4Duration sampleDuration, 				u_int16_t width, 				u_int16_t height, 				MP4FileHandle srcFile,				MP4TrackId srcTrackId,				mp4v2_ismacrypParams *icPp);void MP4AddH264SequenceParameterSet(MP4FileHandle hFile,				    MP4TrackId trackId,				    const uint8_t *pSequence,				    uint16_t sequenceLen);void MP4AddH264PictureParameterSet(MP4FileHandle hFile,				   MP4TrackId trackId,				   const uint8_t *pPict,				   uint16_t pictLen);void MP4SetH263Vendor(		MP4FileHandle hFile,		MP4TrackId trackId,		u_int32_t vendor);void  MP4SetH263DecoderVersion(		MP4FileHandle hFile,		MP4TrackId trackId,		u_int8_t decoderVersion);void MP4SetH263Bitrates(		MP4FileHandle hFile,		MP4TrackId trackId,		u_int32_t avgBitrate,		u_int32_t maxBitrate);MP4TrackId MP4AddH263VideoTrack(		MP4FileHandle hFile,		u_int32_t timeScale,		MP4Duration sampleDuration,		u_int16_t width,		u_int16_t height,		u_int8_t h263Level,		u_int8_t h263Profile,		u_int32_t avgBitrate,		u_int32_t maxBitrate);MP4TrackId MP4AddHintTrack(	MP4FileHandle hFile, 	MP4TrackId refTrackId);MP4TrackId MP4AddTextTrack(	MP4FileHandle hFile, 	MP4TrackId refTrackId);MP4TrackId MP4AddChapterTextTrack(	MP4FileHandle hFile, 	MP4TrackId refTrackId);MP4TrackId MP4CloneTrack(	MP4FileHandle srcFile, 	MP4TrackId srcTrackId,	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),	MP4TrackId dstHintTrackReferenceTrack DEFAULT(MP4_INVALID_TRACK_ID));MP4TrackId MP4EncAndCloneTrack(        MP4FileHandle srcFile,        MP4TrackId srcTrackId,        mp4v2_ismacrypParams *icPp,        MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),        MP4TrackId dstHintTrackReferenceTrack DEFAULT(MP4_INVALID_TRACK_ID));MP4TrackId MP4CopyTrack(	MP4FileHandle srcFile, 	MP4TrackId srcTrackId,	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE), 	bool applyEdits DEFAULT(false),	MP4TrackId dstHintTrackReferenceTrack DEFAULT(MP4_INVALID_TRACK_ID));typedef u_int32_t (*encryptFunc_t)(u_int32_t, u_int32_t, u_int8_t*, u_int32_t*, u_int8_t **);MP4TrackId MP4EncAndCopyTrack(	MP4FileHandle srcFile, 	MP4TrackId srcTrackId,        mp4v2_ismacrypParams *icPp,        encryptFunc_t encfcnp,        u_int32_t encfcnparam1,	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),	bool applyEdits DEFAULT(false),	MP4TrackId dstHintTrackReferenceTrack DEFAULT(MP4_INVALID_TRACK_ID));void MP4DeleteTrack(	MP4FileHandle hFile, 	MP4TrackId trackId);u_int32_t MP4GetNumberOfTracks(	MP4FileHandle hFile, 	const char* type DEFAULT(NULL),	u_int8_t subType DEFAULT(0));MP4TrackId MP4FindTrackId(	MP4FileHandle hFile, 	u_int16_t index, 	const char* type DEFAULT(NULL),	u_int8_t subType DEFAULT(0));u_int16_t MP4FindTrackIndex(	MP4FileHandle hFile, 	MP4TrackId trackId);/* track properties *//* specific track properties */bool MP4HaveTrackAtom(MP4FileHandle hFile, 		      MP4TrackId trackId, 		      const char *atomname);const char* MP4GetTrackType(	MP4FileHandle hFile, 	MP4TrackId trackId);const char *MP4GetTrackMediaDataName(MP4FileHandle hFile,				     MP4TrackId trackId);// MP4GetTrackMediaDataOriginalFormat is to be used to get the original// MediaDataName if a track has been encrypted.bool MP4GetTrackMediaDataOriginalFormat(MP4FileHandle hFile,	    MP4TrackId trackId, char *originalFormat, u_int32_t buflen);MP4Duration MP4GetTrackDuration(	MP4FileHandle hFile, 	MP4TrackId trackId);u_int32_t MP4GetTrackTimeScale(	MP4FileHandle hFile, 	MP4TrackId trackId);void MP4SetTrackTimeScale(	MP4FileHandle hFile, 	MP4TrackId trackId, 	u_int32_t value);u_int8_t MP4GetTrackAudioMpeg4Type(	MP4FileHandle hFile, 	MP4TrackId trackId);u_int8_t MP4GetTrackEsdsObjectTypeId(	MP4FileHandle hFile, 	MP4TrackId trackId);/* returns MP4_INVALID_DURATION if track samples do not have a fixed duration */MP4Duration MP4GetTrackFixedSampleDuration(	MP4FileHandle hFile, 	MP4TrackId trackId);u_int32_t MP4GetTrackBitRate(	MP4FileHandle hFile, 	MP4TrackId trackId);bool MP4GetTrackVideoMetadata(MP4FileHandle hFile,			      MP4TrackId trackId,			      uint8_t **ppConfig,			      uint32_t *pConfigSize);bool MP4GetTrackESConfiguration(	MP4FileHandle hFile, 	MP4TrackId trackId, 	u_int8_t** ppConfig, 	u_int32_t* pConfigSize);bool MP4SetTrackESConfiguration(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const u_int8_t* pConfig, 	u_int32_t configSize);/* h264 information routines */bool MP4GetTrackH264ProfileLevel(MP4FileHandle hFile,				 MP4TrackId trackId,				 uint8_t *pProfile,				 uint8_t *pLevel);void MP4GetTrackH264SeqPictHeaders(MP4FileHandle hFile,				   MP4TrackId trackId,				   uint8_t ***pSeqHeaders,				   uint32_t **pSeqHeaderSize,				   uint8_t ***pPictHeader,				   uint32_t **pPictHeaderSize);bool MP4GetTrackH264LengthSize(MP4FileHandle hFile,			       MP4TrackId trackId,			       uint32_t *pLength);MP4SampleId MP4GetTrackNumberOfSamples(	MP4FileHandle hFile, 	MP4TrackId trackId);u_int16_t MP4GetTrackVideoWidth(	MP4FileHandle hFile, 	MP4TrackId trackId);u_int16_t MP4GetTrackVideoHeight(	MP4FileHandle hFile, 	MP4TrackId trackId);double MP4GetTrackVideoFrameRate(	MP4FileHandle hFile, 	MP4TrackId trackId);int MP4GetTrackAudioChannels(MP4FileHandle hFile, 				  MP4TrackId trackId);bool MP4IsIsmaCrypMediaTrack(        MP4FileHandle hFile,        MP4TrackId trackId);/* generic track properties */bool MP4HaveTrackAtom(MP4FileHandle hFile, 		      MP4TrackId trackId, 		      const char *atomName);			bool MP4GetTrackIntegerProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName,	u_int64_t *retvalue);bool MP4GetTrackFloatProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName,	float *ret_value);bool MP4GetTrackStringProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName,	const char **retvalue);bool MP4GetTrackBytesProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName,	u_int8_t** ppValue, 	u_int32_t* pValueSize);bool MP4SetTrackIntegerProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName, 	int64_t value);bool MP4SetTrackFloatProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName, 	float value);bool MP4SetTrackStringProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName, 	const char* value);bool MP4SetTrackBytesProperty(	MP4FileHandle hFile, 	MP4TrackId trackId, 	const char* propName, 	const u_int8_t* pValue, 	u_int32_t valueSize);/* sample operations */bool MP4ReadSample(	/* input parameters */	MP4FileHandle hFile,	MP4TrackId trackId, 	MP4SampleId sampleId,	/* input/output parameters */	u_int8_t** ppBytes, 	u_int32_t* pNumBytes, 	/* output parameters */	MP4Timestamp* pStartTime DEFAULT(NULL), 	MP4Duration* pDuration DEFAULT(NULL),	MP4Duration* pRenderingOffset DEFAULT(NULL), 	bool* pIsSyncSample DEFAULT(NULL));/* uses (unedited) time to specify sample instead of sample id */bool MP4ReadSampleFromTime(	/* input parameters */	MP4FileHandle hFile,	MP4TrackId trackId, 	MP4Timestamp when,	/* input/output parameters */	u_int8_t** ppBytes, 	u_int32_t* pNumBytes, 	/* output parameters */	MP4Timestamp* pStartTime DEFAULT(NULL), 	MP4Duration* pDuration DEFAULT(NULL),	MP4Duration* pRenderingOffset DEFAULT(NULL), 	bool* pIsSyncSample DEFAULT(NULL));bool MP4WriteSample(	MP4FileHandle hFile,	MP4TrackId trackId,	const u_int8_t* pBytes, 	u_int32_t numBytes,	MP4Duration duration DEFAULT(MP4_INVALID_DURATION),	MP4Duration renderingOffset DEFAULT(0), 	bool isSyncSample DEFAULT(true));bool MP4CopySample(	MP4FileHandle srcFile,	MP4TrackId srcTrackId, 	MP4SampleId srcSampleId,	MP4FileHandle dstFile DEFAULT(MP4_INVALID_FILE_HANDLE),	MP4TrackId dstTrackId DEFAULT(MP4_INVALID_TRACK_ID),	MP4Duration dstSampleDuration DEFAULT(MP4_INVALID_DURATION));bool MP4EncAndCopySample(	MP4FileHandle srcFile,	MP4TrackId srcTrackId, 	MP4SampleId srcSampleId,        encryptFunc_t encfcnp,        u_int32_t encfcnparam1,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -