MP4 & QuickTime File Splitter
This page is a copy of the original page on the AVObjects' web site and can also be viewed here.
Splitter (demultiplexer) for MP4 (MPEG-4) and QuickTime video files.
Overview
DirectShow decoder filter for H.264/AVC video streams.
In order to play MP4 files, you must have MP4 Splitter installed. Not to be confused with MPEG-4 Video, the MP4 Bitstream format is a wrapper format (similar to AVI/OGM/Matroska).
// Filter splits MPEG-4 files (.mp4, .mov, .f4v, .3gp, etc.) into its constituent
// audio and video streams.
// // Supported types of streams: // // 'avc1' // H.264/AVC stream according to ITU-T Rec. H.264 / ISO/IEC 14496-10 // and ISO/IEC 14496-15, Advanced Video Coding (AVC) file format // // 'mp4v' // MPEG-4 Video stream according to ISO/IEC 14496-2, Visual // // 'mp4a' // AAC Audio stream according to ISO/IEC 14496-3, Audio and // ISO/IEC 13818-7, Advanced Audio Coding (AAC) // // 'raw ', 'twos', 'sowt', 'in24', 'in32', etc. // PCM Audio with big or little endian, 1 or 2 channels, 8, 16, 24 or 32 bits // // MPEG-2 types // MPEG-2 Video stream according to ISO/IEC 13818-2 // // 's263', 'h263' // H.263 video stream // // 'samr' // AMR audio // // Generic video ('png ', 'jpeg', etc.) // Encoded video streams
Supported Standards
- ISO/IEC 14496-1 (MPEG-4 Part 1): Systems
- ISO/IEC 14496-12 (MPEG-4 Part 12): ISO Base Media File Format
- ISO/IEC 14496-14 (MPEG-4 Part 14): MP4 File Format
Why H.264?
H.264 is used in:
Features
See Also
Action Items
//
//---------------------------------------------------------------------------
// Filter Interfaces:
// IBaseFilter, IPersistStream, ISpecifyPropertyPages, IMLMpeg4Splitter
//
// Input Pin Media Types
// MEDIATYPE_Video or MEDIATYPE_Stream
//
// Input Pin Interfaces
// IMemInputPin, IPin, IQualityControl
//
// Output Pin Media Types:
// 'avc1'
// [ MEDIATYPE_Video / FCC_AVC1 / FORMAT_MPEG2Video ],
// seq_parameter_set() and pic_parameter_set() put to MPEG2VIDEOINFO::dwSequenceHeader
// 'mp4v'
// [ MEDIATYPE_Video / FCC_DIVX / FORMAT_VideoInfo ],
// if VideoObjectLayer() not found at start of first output sample, it will be added
// 'mp4a'
// [ MEDIATYPE_Audio / FCC_FF / FORMAT_WaveFormatEx ], WAVEFORMATEX::wFormatTag = 0xFF
// AudioSpecificConfig() put after WAVEFORMATEX struct, size = WAVEFORMATEX::cbSize
// 'raw ', 'twos', 'sowt', etc.
// [ MEDIATYPE_Audio / MEDIASUBTYPE_PCM / FORMAT_WaveFormatEx ]
// MPEG-2
// [ MEDIATYPE_Video / MEDIASUBTYPE_MPEG2_VIDEO / FORMAT_MPEG2Video ],
// sequence_header() and sequence_extension() put to MPEG2VIDEOINFO::dwSequenceHeader
// 's263'. 'h263'
// [ MEDIATYPE_Video / FCC_s263 / FORMAT_VideoInfo ]
// 'samr'
// [ MEDIATYPE_Audio / FCC_samr / FORMAT_WaveFormatEx ],
// data from 'damr' box placed after WAVEFORMATEX struct
// Generic video ('png ', 'jpeg', etc.)
// [ MEDIATYPE_Video / Fourcc subtype / FORMAT_VideoInfo ]
//
// Output Pin Interfaces
// IMediaSeeking, IPin, IQualityControl
//
// Merit (see below)
// MERIT_NORMAL
//
// Filter Categories
// CLSID_LegacyAmFilterCategory, CLSID_MediaLooksCategory
//