| With digital audio and video data formats increasing and more and more types of storage devices, in order to make it easy to exchange the audio and video data among various store devices, audio and video content and metadata need to be packaged in a uniform format. MXF is mainstream format of file-storage and exchange in the field of radio and television. MXF packages media content and metadata (the data is used to describe MXF media content) into a file in accordance with certain specifications so that data can be exchanged between program production equipment and the server.MXF is an open file format developed and promoted by a professional MPEG Forum (Pro-MPEG Forum), which aims to solve the problem of exchanging the video / audio program material, related data and metadata among devices of different segments in the program production system. MXF can work in different network protocols and operating systems, which does not have to do the conversion of compressed format, can even handle uncompressed video and audio data and has a variety of packaged video and audio data of flexible packaging mode.The task is to realize to parse MXF file which contains Mpeg4 video stream and A-law audio stream according to MXF file structure. We use MXFSDK to separate video stream and audio stream from the file separately. After separating, video stream produced the media file of QuickTime that CODEC is Mpeg4 through QuickTimeSDK, audio stream produced eight wave form files of A-law.MXF files are usually regarded as a "container" file formats, that is, MXF file format is not related to the format of the data content, which thanks to using KLV (key - length - value) triples as encoding method in the bottom of MXF. MXF file typically contains the file header, the file body, the file tail and several other parts of the file.MXF combines video , audio stream , program data (such as text ) ,etc. into an organic that is called the key element, and adds in meta data at the same time , then puts these into the packing device together. The main part of MXF file is based on stream mode with key element and some metadata. It contains video frame array, supplemented by relevant audio stream, data key element and metadata based on frame, and the latter generally includes time code and format information of video of every frame, etc. Such a design is also called interweaving media file.The material of the main part of MXF file (key element) can be MPEG, DV, and uncompressed video and audio stream materials. This kind of file can also use standard SMPTE KLV data coding system that has already been generally acknowledged.In order to realize parsing MXF file, we first turn MXF file into QuickTime file(composed of Video stream of Mpeg4 and Audio stream of A-Low)that is then turned into QuickTime media file. The AIO files that haven't been handled in this stage will be turned into the wave form file of A-law.The main function of the task is realized with dynamic link library (DLL). In the class function design, MXFReader realize reading Mpeg4 Stream and A-Low Stream of MXF file, QTWriter realize writing Video Stream, Audio Stream into corresponding QuickTime file, and Alow2AioWriter realize writing A-Low Stream into the wave form file of A-law.In this paper, research background and its research significance of the MXF file parsing system were introduced. Then MXF file formats are described in detail, and the related knowledge of MXF file parsing system are introduced, including the MFC programming techniques in VC + +, multi-threading technology, dynamic link library technology and knowledge of software engineering. Following the introduction of basic knowledge, specific implementations of MXF file parsing system were discussed in detail.The function realized in this paper is that the MXF file containing Mpeg4 video stream and A-law audio stream is parsed, video streams and audio streams are separated by using MXFSDK from file to generate the corresponding media files. After the separation of video streams, QuickTime media files (.mov files) whose CODEC is Mpeg4 are generated by QuickTimeSDK. After the separation of audio stream, the wave files (wav files) of A-law are generated.The function requirement of MXF file parsing system is parsing MXF files, specific functions are divided into the following function modules, including Overall module, input streams, output streams, MXF Parser,MPEG-4 decoder, A-low decoder, QT encoder. Overall realized that MPEG-4 Video ES and A-low resolution were parsed from a Proxy MXF to generate XPRI Proxy file (generate a .Mov file and 8 .Wav files). Input streams realized that the XDCAM Proxy MXF was as an input. Output stream is used to generate the files which can be played by XPRI. MXF Parser is used to parse the XDCAM Proxy MXF and extract the Video essence and Audio essence from every KLV. The function of MPEG-4 decoder is to decode Video essence from the MXF Parser by using the QT API. The function of A-low decoder is to decode Audio essence from the MXF Parser by using the QT API. The function of QT encoder is to form a QT Media by Video decoded from the MPEG-4 decoder and Audio essence decoded from MXF Parser through using QT API.Finally, in this paper detailed design of the MXF file parsing system and its simulation results were given. The program ultimately realized that the MXF file containing Mpeg4 video stream and A-law audio stream could be parsed. The video streams and the audio streams could be separated from files by using MXFSDK and the corresponding media files were generated at the same time. After the separation of video streams, QuickTime media files (.mov files) whose CODEC is Mpeg4 are generated by QuickTimeSDK. After the separation of audio stream, the wave files (wav files) of A-law are generated. And the progress of parsing the files was displayed. |