今后最有前途的媒体格式 MXF

MXF格式已经被推出几年了,从当初一个陌生的不为人们重视的格式逐渐获得了业内人士的认知和认可,现如今正被广泛应用于广播电视与后期制作领域,且有不断扩大之势,松下公司推出的基于PII卡的无磁带式标清摄像机,它所采用的媒体格式,正是MXF

什么是MXFMXF如何为我们提供便利?MXFIMX格式的关系?所有的多媒体文件格式都会向MXF靠拢吗?所有的MXF文件都是兼容的吗?我们需要一步步来解释这些问题。

 

问题1:什么是MXF?

 

  MXF是英文Material Exchange Format(文件交换格式)的词头缩写,这个名字本身就道出了它的作用是为数据的发送者和接收者建立不同数据格式转换的通用标准。它可在专业广播电视环境下转换媒体文件,本质上是一种外壳格式。为什么这样说呢?象PC平台的AVI多媒体格式,它是一种对音视频进行中等压缩和打包,介乎于压缩和无压缩之间的文件格式。但MXF超出了一般AVI的范畴。例如:MXF被设计可用于包装MPEG2数据流、DV数据流、YUV数据流、PCM音频文件以及几种格式的数据库文件(同步或非同步模式)。MXF可以同时处理打包多条轨道的音视频和数据库文件,它被设计为既支持流媒体传输又支持文件的传输。所以它可以改善网络环境因缺乏标准的文件格式而受阻碍的局面。实际上,在MXF出现之前,有过类似的格式,例如OMFOpen Media Frame)开放媒体框架格式,它就是一个包含多轨媒体信息的文件格式,但OMF更象是AVI是为了编辑而设计,缺少MXF的网络流动性。

 

问题2MXF对我们有什么帮助?

 

  目前没有任何一种文件外壳格式可以满足广播制作的所有需求。而MXF被设计为可以满足绝大数当前和未来的媒体交换的需求。我们期望看到媒体在不同的载体上交换,包括:音视频服务器、离线和近线存储系统、编辑工作站、录像设备(带有以太网文件传出能力)、流媒文件格式等。最重要的是MXF允许不同的公司(应用程序)间不需依赖特定的文件格式就能交换资源。当然,这只是一个美好的愿望,但是,著名的公司的行动已经使我们看到了希望,品尼高公司(Pinnacle)最早在Liquid后期编辑系列产品中就支持了这个格式,因为它需要用OMF在它的非编系统和播出系统(例如Palladium)间建立无缝的桥梁,爱维德(Avid)在最新的Xpress编辑系统中也表明支持MXF(要知道,它一直是OMF最强的支持者),而苹果公司著名的非编软件Final Cut Pro最新推出的5.0版本中,已经可以直接导入MXF了。

 

问题3MXF会取代现在已广泛使用的文件格式吗?

 

  也许需要等一段时间,就象物理学家牛顿提出的惯性定律:除非受到外力,物体不会改变他们的状态。现如今,MPEGAVIGXFQuikeTimeDIF广泛应用于硬盘和磁带存储。如果将所有的格式在短时间内都转换为MXF,那需要巨大的外界力量。MXF将首先被新设备使用,包括对音视频设备和非线性设备的升级(例如PII摄像机)。MXF也可能被做为存储格式使用,但需要与其他文件格式共存,直到那些格式都转化为MXF,所以MXF的普及需要一定的时间。

 

问题4:所有的MXF文件都相互兼容吗?

 

  不,因为MXF是一个外壳格式而不是压缩格式,所以并不能保证每一款MXF文件都能被任何一种解码器识别。例如,将D10格式的MPEG-2文件转换为MXF文件,而接收端的设备只装配了DV25格式的解码器,此时,MXF是不兼容的(就象我们家中的Media Player播放器也经常不能观看一些特殊编码的AVI文件一样)。要做到真正的兼容,发送端和接受端设备必须支持相同的音视频压缩或无压缩格式以及数据格式。MXF的操作规范定义了各种MXF的特性,压缩类型,数据结构,例如:一个规范允许支持D10 MPEG-2和多轨音频格式,另一种规范则支持DV格式(SMTPE 314M)。当然,SMPTE将不断增加新的MXF支持的格式以满足行业的需求。问题的重点是:MXF虽然不能保证100%的兼容,当从长远讲它正在向这方面努力。

 

问题5MXFIMX的关系。

 

  IMX是索尼公司为一种带宽的磁带格式起的名字,这种磁带被用于索尼公司那些支持MPEG D10格式或D10数据流的产品(SMPTE 365MSMPTE 356M),它们以50M/秒的速率传输数据(在有些产品上达到30M40M的速率)。例如:索尼MSW-2000系列就是支持MPEG D10格式的IMX录像机。D10数据流是一种只包含一系列MPEG-2 I帧的格式,这些I帧具备相同的数据量,这种格式非常适合录像设备。这种MPEG格式同样也是SDTI-CP传输协议(SMPTE 331M)中一种标准的压缩格式。IMX本身不是指文件格式或压缩格式,它仅仅是一个带宽的类型,这一点和MXF很相象。所以,如果有一天推出MXF的录像带,也没有什么新鲜。


问题6:在MXF中KLV是如何做为一个尺度的?

  KLV代表关键帧(key),长度(length)和取值(value)。它起源于最初的程式化概念。KLV做为一种连续的、关联的包含分段信息的数据包被使用多年了。例如,如果一个人想把音频和视频缝合在一个文件中,KLV将会像图一样组织数据流的结构。



  所以,KLV打包方式提供了一种分割用户数据和确认用户数据类型(key)的方式。长度信息表明了实际数据的字节长度。SMPTE 336M定义了KLV被应用的规范。关键帧是SMPTE一个普遍的标准(SMPTE 298M)。所以,在上图中,关键帧定义了特定音频的参数值类型。MXF是不同类型的连续的KLV序列的组合,包括:音频、视频、索引标志、文件头和所有的索引数据。

  问题7:MXF的主要应用方向是文件存储吗?

  不,MXF主要是一种交换格式,虽然它确实做为一种磁盘格式被使用,但这个文件标准主要是为了在流转中兼容。下面的事例表明为什么以MXF本格式储存不具备优势。设想传输一个混合音频和视频的MXF文件,一台非线性编辑设备为接受上面的MXF文件,必须确定MXF文件中的音视频数据,并将它们做为分割的文件重新写在硬盘中(例如:分割为音频的WAV文件和MPEG-2的MXF文件)。选择数据指针时也需要从MXF文件中将数据指针移出到本地的数据库中,这样反复地重复多步操作,将原来简单的媒体格式读取复杂化了,所以基于这种原因,纯粹的硬盘上的MXF文件不具有太大的使用价值。

  但另一方面MXF文件分区的实际字段大小又使它在磁盘存储中具备一定的优势。在一些系统中需要4K的字段空间(或其他数量)去读写文件,MXF不必把分区按4K分割,所以一些版本的MXF文件在储存时可以减少硬盘的读写次数。

  这就是说,当把大量的媒体文件和数据结构按MXF存取时,MXF还是有优势的,所以它适合大量的网络转移。实际工作中为确保兼容性,需要将MXF做为文件或数据流来交换,并允许操作规范间的转换。

  问题8:MXF同时支持文件和数据流传输吗?

  是的。数据流和文件传输意味着同时支持在一个源头向一个或不同的终端发送信息。它们有各自的应用领域,并可以共存。文件和数据流又不同的用途:
文件:
  (1) 通过不同步式网络发送(例如以太网和局域网)
  (2) 100%的兼容通讯协议,如FTP
  (3) 同步数据传输,包括低于或高于实时的速率
  (4) 点到点或一点到多点的传输
数据流:

  (1) 素材被做为数据流通过线缆以特定的速率发送给一个或多个终端工作站,通常是通过专门的、不兼容的协议(如UDP)来实现。虽然数据流可以通过兼容性很好的TCP方式传输,但对许多处理数据流的应用程序来说,那是不实用的。
  (2) 数据流通常带着时钟基准信号被发送,以便可以立即在终端工作站上被解码。
  (3) 任何在通道内的错误可以使用附加的ECC或其他类型的校错方式被校正。

对大多数应用程序来说,文件传输有它的优势,因为它可保证传输100%的兼容。
流传输方式则在需要实时传输的领域被广泛使用。

  问题9:MXF与AAF的关系?

  AAF是高级编著格式,它是被AAF协会的会员设计制定的。AAF文件是通过MXF的规范被创建的,可以被支持AAF的程序打开。此外,MXF文件可嵌入到AAF中,AAF扩展了MXF的用途,但它没有实质的进步。AAF主要用于承载那些复杂的媒体片断的合成信息。

  问题10:我们研究MXF的意图是什么?

  我们支持MXF,是为了获得它的便利:

  (1) 使用FTP或其他方式在前端设备上导入导出MXF文件。
  (2) 通过转码工作站将现有的媒体文件加一个外壳,使它获得最大的兼容性,通过局域网或万维网以不同的格式接受他们,包括MXF本身。大多数转换工作比实时还快,如果转换过程中没有重新编码的过程,文件质量就不会有任何损失。
  (3) 向近线或离线存储设备存取文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【c#】RabbitMQ学习文档(一)Hello World

一、简介 RabbitMQ是一个消息的代理器,用于接收和发送消息,你可以这样想,他就是一个邮局,当您把需要寄送的邮件投递到邮筒之时,你可以确定的是邮递员先生肯定会把邮件发送到需要接收邮件的人的手里,不…

什么是状态转换图

通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外状态转换图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此状态转换图提供了行为建模机制。

Python学习笔记三

参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一、函数的定义 Python中定义一个函数需要使用def语句,依次确定函数名、参数及函数体内容: #一个求绝对值的函数 def my_abs(x):i…

oracle中如何分页,Oracle中操作分页

mysql中分页的写法:select t.* from tbl_user t order by t.id limit $offset , $perpage$currentPage 1;//当前页码其中后面$sql:with partdata as (select rownum rowno,t.* from tablename t where column1090order by column) select * from partda…

Flask爱家租房--发布新房源(保存房屋图片)

0.页面展示效果 1)首先房东填写房屋信息; 2)当房东填写发布的房源信息之后,隐藏(hide)刚才填写信息的界面,同时显示(show)上传房屋图片的界面。 1.后端代码 api.route("/houses/image&q…

数字的处理 :小数点四舍五入

js取float型小数点后两位数的方法 转载 发布时间:2014年01月18日 17:03:32 投稿:shangke 我要评论 js中取小数点后两位方法最常用的就是四舍五入函数了,前面我介绍过js中四舍五入一此常用函数,这里正好用上,下面…

如何成为一名优秀的C程序员

问题的提出 每过一段时间我总会收到一些程序员发来的电子邮件,他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程语言的。因此,我认为在这篇博文里列出一些有关C语言的最佳读物应该能帮到不少人。如果你知道其它的优秀…

CFS调度器

一、前言 随着内核版本的演进,其源代码的膨胀速度也在递增,这让Linux的学习曲线变得越来越陡峭了。这对初识内核的同学而言当然不是什么好事情,满腔热情很容易被当头浇灭。我有一个循序渐进的方法,那就是先不要看最新的内核&#…

oracle索引分类与区分,深入理解Oracle表(6):堆组织表(HOT)和索引组织表(IOT)的区别...

摘要:堆表:又称堆组织表,常用的表类型,以堆的方式管理,当增加数据时,将使用段中第一个适合数据大小的空闲空间。当删除数据时,留下的空间允许以后的DML操作重用。 堆组织表(heap table)应用中99…

Flask爱家租房--发布新房源(总结)

重点总结 学习过程中,发现house_id贯穿两个接口内容,现对后端逻辑部分做以下总结: 1)房东首先在前端填写房屋的基本信息,此时通过newhouse.js文件$("#form-house-info").submit(function (e) {…}进行处理&…

关系的三类完整性约束

规则2.1实体完整性规则(Entity Integrity)若属性A是基本关系R的主属性,则属性A不能取空值空值就是“不知道”或“不存在”或“无意义”的值例: 选修(学号,课程号,成绩) “学号、课…

[QNAP crontab 定時執行程式

注意要自動執行的 sh 檔不要放在 /root 裡, 不然韌體更新後檔案會不見, 要放在個人帳號的資料夾,例如 /share/homes/帳號/ QNAP 的 crontab 放在 /etc/config/crontabvi /etc/config/crontab 例如要每日5:00執行 backup.sh 的話,加上這行 00 5 * * * /s…

调整标志位方法oracle,面试题(二)(示例代码)

1.查找/us/oc al/nginx/ogs下更改时间在7天前以log 后极的文件井移动到sr/oca/nginx/log/backup下(至少两种方法)2. Centos 查看某个进程的环境安量3.简述DNS迭代查询和递归直询的区别4.简述TCP三次握手过程以及涉及到的状态(可画草图) ?5.统计TCP连接状态(至少两种方法)6.发现…

国际最具潜力IT专业认证

正如很多的争论一样,IT认证也是现在争论的热点,在IT专业人士的世界里,IT认证对于其职业规划有着很大的影响。在时下究竟哪个认证才具有最大意义呢?本文罗列了十个最具潜力的技术认证,一起来看看都有哪些吧!…

关系代数

关系代数是一种抽象的查询语言,它用对关系的运算来表达查询关系代数运算对象是关系运算结果亦为关系关系代数的运算符有两类:集合运算符和专门的关系运算符

设计模式的六大原则

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更加容易被他人理解、保证代码可靠性。设计模式是代码编制真正工程化(工程化即系统化、模块化、规范化的一个过程。指将具有一定规模数量的单个…

作业7

stuNum 201709090072 print(年级是:stuNum[0:4]) print(专业编号是: stuNum[4:9]) print(序号是: stuNum[-3:]) stuNum 440982201812111876 print(所在省市:stuNum[0:2]) print(所在地区:stuNum[2:4]) print(所在县区:stuNum[4:…

linux进程退出没有log,Linux下应用进程消失原因分析-Go语言中文社区

应用部署在Linux环境下,如果出现未知原因导致应用进程被杀(应用日志中没有任何异常现象,日志出现中断现象),如果对于进程消失原因没有特别明确的方向,可以考虑从系统日志(/var/log/messages)方面查找原因。 命令参考egrep -i kill…

数学是成就卓越开发人员的必备技能

编者按:原文作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文就是其中一篇,作者认为:成为优秀的开发人员,可以没有数学技能,但成…