标题：MXF
新兴的媒体格式-----MXF
MXF是英文Material eXchange Format（素材交换格式）的缩语。MXF是SMPTE（美国电影与电视工程师学会）组织定义的一种专业音视频媒体文件格式。MXF主要应用于影视行业媒体制作、编辑、发行和存储等环节。SMPTE为其定义的标准包括：SMPTE - 377M、SMPTE - EG41、SMPTE - EG42等，并不断进行更新和完善。
1996年9月12日的国际广播大会上，EBU（欧洲广播联盟）和SMPTE任命了“EBU/SMPTE比特流节目素材交换一致标准特别委员会”。这个组织（一般被提作EBU/SMPTE特别委员会）开始着手网络环境中内容互操作性和交换的问题调查研究。在特别委员会的最终报告中指出，文件格式是影响专业影视产业引入健全网络环境所缺少若干要素中最重要的一个要素。其不仅需要支持不同的音视频格式，而且需要支持广泛的元数据。Pro-MPEG论坛对特别委员会的最终报告进行了研究，最终开发出MXF文件格式。与此同时，AAF（先进制作格式）文件格式由AAF协会开发完成。这两种文件格式正成为基于IT技术制作影视节目的重要基础设施。AAF主要用于媒体的编辑和制作，与MXF应用的侧重点有所不同。在MXF开发完成之前，已存在多种音视频文件格式，如：GXF、QuickTime、DPX和AVI等，但只有MXF最能够满足应用需求，特别是在开放性和元数据扩展性方面，因此MXF文件格式的应用越来越广泛。
MXF文件通常被视为一种“容器”文件格式，也就是说MXF文件格式与内容数据的格式无关，这得益于MXF底层使用了KLV（键-长度-值）三元组编码方式。MXF文件通常包含文件头、文件体和文件尾等几个部分。
MXF详细信息
MXF定义：MXF 是英文 Material Exchange Format（文件交换格式）的词头缩写， 这个名字本身就道出了它的作用是为数据的发送者和接收者 建立不同数据格式转换的通用标准。 它可在专业广播电视环境下 转换媒体文件， 本质上是一种外壳格式。 为什么这样说呢？象PC平台的AVI多媒体格式， 它是一种对音视频 进行中等压缩和打包， 介乎于压缩和无压缩之间的 文件格式。 但MXF超出了一般AVI的范畴。例如： MXF被设计可用于 包装MPEG2数据流、 DV数据流、 YUV数据流、 PCM音频文件 以及几种格式的数据库文件（同步或非同步模式）。 MXF可以同时处理打包多条轨道的 音视频和数据库文件， 它被设计为既支持流媒体传输 又支持文件的传输。所以它可以改善网络环境 因缺乏标准的文件格式 而受阻碍的局面。 实际上， 在MXF出现之前， 有过类似的格式， 例如OMF（Open Media Frame） 开放媒体框架格式， 它就是一个包含多轨媒体信息的 文件格式， 但OMF更象是AVI是为了编辑而设计，缺少MXF的网络流动性。
MXF 对我们有什么帮助：目前没有任何一种文件外壳格式 可以满足广播制作的所有需求。 而MXF被设计为可以满足绝大数当前 和未来的媒体交换的需求。我们期望看到媒体在 不同的载体上交换， 包括：音视频服务器、 离线和近线存储系统、 编辑工作站、 录像设备 （带有以太网文件传出能力）、流媒文件格式等。 最重要的是MXF允许不同的公司 （应用程序） 间不需依赖特定的文件格式 就能交换资源。 当然，这只是一个美好的愿望， 但是，著名的公司的行动 已经使我们看到了希望， 品尼高公司（Pinnacle） 最早在Liquid后期编辑系列产品中 就支持了这个格式，因为它需要用OMF在它的非编系统和 播出系统 （例如Palladium） 间建立无缝的桥梁， 爱维德（Avid）在最新的Xpress编辑系统中 也表明支持MXF （要知道， 它一直是OMF最强的支持者）， 而苹果公司著名的非编软件 Final Cut Pro最新推出的5.0版本中， 已经可以直接导入MXF了。
MXF 会取代现在已广泛使用的 文件格式吗？也许需要等一段时间， 就象物理学家牛顿提出的惯性定律： 除非受到外力， 物体不会改变他们的状态。 现如今， MPEG、AVI、GXF、QuikeTime和DIF 广泛应用于硬盘和磁带存储。 如果将所有的格式在短时间内 都转换为MXF，那需要巨大的外界力量。 MXF将首先被新设备使用， 包括对音视频设备 和非线性设备的升级 （例如PII摄像机）。 MXF也可能被做为存储格式使用， 但需要与其他文件格式共存， 直到那些格式都转化为MXF， 所以MXF的普及需要一定的时间。
所有的MXF文件都相互兼容吗？不， 因为MXF是一个外壳格式 而不是压缩格式， 所以并不能保证每一款MXF文件 都能被任何一种解码器识别。例如，将D10格式的MPEG-2文件转换为 MXF文件， 而接收端的设备只装配了 DV25 格式的解码器， 此时，MXF是不兼容的（就象我们家中的Media Player播放器 也经常不能观看一些特殊编码的 AVI文件一样）。 要做到真正的兼容，发送端和接受端设备必须支持相同的 音视频压缩或无压缩格式 以及数据格式。 MXF的操作规范定义了各种 MXF 的特性， 压缩类型， 数据结构，例如： 一个规范允许支持 D10 MPEG-2 和多轨音频格式， 另一种规范则支持DV格式 （SMTPE 314M）。当然，SMPTE将不断增加新的 MXF 支持的格式以满足行业的需求。 问题的重点是： MXF虽然不能保证100%的兼容，当从长远讲它正在向这方面努力。
MXF与IMX的关系IMX是索尼公司为一种带宽的 磁带格式起的名字， 这种磁带被用于索尼公司那些支持MPEG D10格式 或D10数据流的产品 （SMPTE 365M和SMPTE 356M）， 它们以50M/秒的速率传输数据 （在有些产品上达到 30M或40M的速率）。例如：索尼MSW-2000系列就是支持MPEG D10格式的 IMX录像机。 D10数据流是一种只包含一系列MPEG-2 I帧的格式，这些I帧具备相同的数据量， 这种格式非常适合录像设备。 这种MPEG格式同样也是SDTI-CP传输协议 （SMPTE 331M）中一种标准的压缩格式。 IMX本身不是指文件格式或压缩格式， 它仅仅是一个带宽的类型， 这一点和MXF很相象。 所以，如果有一天推出MXF的录像带， 也没有什么新鲜。
在MXF中KLV是如何 做为一个尺度的？KLV代表关键帧（key）， 长度（length） 和取值（value）。 它起源于最初的程式化概念。 KLV做为一种连续的、 关联的包含分段信息的数据包 被使用多年了。 
所以， KLV打包方式提供了一种 分割用户数据和确认用户数据类型 （key）的方式。 长度信息表明了 实际数据的字节长度。 SMPTE 336M定义了 KLV被应用的规范。 关键帧是SMPTE一个普遍的标准 （SMPTE 298M）。 所以， 关键帧定义了特定音频的参数值类型。 MXF是不同类型的连续的 KLV序列的组合， 包括： 音频、 视频、 索引标志、 文件头和所有的索引数据。
MXF的主要应用方向 是文件存储吗？不， MXF主要是一种交换格式， 虽然它确实做为 一种磁盘格式被使用， 但这个文件标准主要是 为了在流转中兼容。 下面的事例表明为什么以 MXF本格式储存不具备优势。 设想传输一个混合音频 和视频的MXF文件， 一台非线性编辑设备 为接受上面的MXF文件，必须确定MXF文件中的音视频数据， 并将它们做为 分割的文件重新写在硬盘中 （例如：分割为音频的 WAV文件和 MPEG-2的MXF文件）。选择数据指针时也需要从 MXF文件中将数据指针 移出到本地的数据库中， 这样反复地重复多步操作， 将原来简单的媒体格式读取 复杂化了，所以基于这种原因， 纯粹的硬盘上的 MXF文件不具有太大的使用价值。
但另一方面 MXF文件分区的实际字段大小 又使它在磁盘存储中 具备一定的优势。 在一些系统中需要4K的字段空间 （或其他数量）去读写文件， MXF不必把分区按4K分割， 所以一些版本的 MXF文件在储存时 可以减少硬盘的读写次数。
这就是说， 当把大量的媒体文件和 数据结构按MXF存取时， MXF还是有优势的， 所以它适合大量的网络转移。 实际工作中为确保兼容性， 需要将MXF做为文件 或数据流来交换， 并允许操作规范间的转换。
MXF同时支持文件 和数据流传输吗？是的。 数据流和文件传输 意味着同时支持在一个源头 向一个或不同的终端发送信息。 它们有各自的应用领域， 并可以共存。 文件和数据流又不同的用途：
文件：
（1） 通过不同步式网络发送 （例如以太网和局域网）
（2） 100%的兼容通讯协议，如FTP
（3） 同步数据传输， 包括低于或高于实时的速率
（4） 点到点或一点到多点的传输
数据流：
（1） 素材被做为数据流 通过线缆以特定的速率 发送给一个或多个终端工作站， 通常是通过专门的、 不兼容的协议 （如UDP）来实现。 虽然数据流可以通过 兼容性很好的TCP方式传输， 但对许多处理数据流的 应用程序来说， 那是不实用的。
（2） 数据流通常带着 时钟基准信号被发送， 以便可以立即在 终端工作站上被解码。
（3） 任何在通道内的错误 可以使用附加的ECC 或其他类型的校错方式被校正。
> 对大多数应用程序来说， 文件传输有它的优势， 因为它可保证传输100%的兼容。
> 流传输方式则在 需要实时传输的领域 被广泛使用。
MXF与AAF的关系？AAF是高级编著格式， 它是被AAF协会的会员设计制定的。 AAF文件是通过MXF的规范被创建的， 可以被支持AAF的程序打开。 此外， MXF文件可嵌入到AAF中， AAF扩展了MXF的用途， 但它没有实质的进步。 AAF主要用于承载那些 复杂的媒体片断的合成信息。