DAT与MPG文件之间有什么区别(转)

DAT文件和MPG 件有什么区别?

很多MTV都是.dat 或者是 .mpg格式,用电脑播放软件播放的时候,这两个扩展名好像没有什么区别,互改也没关系。但是具体刻录到光盘还有点区别,有些可以播放有些不能播放。到底他们有什么区别?这个问题困扰了我很长的一段时间。现在终于大体搞明白了,恭喜一下。

先引用网上的一个解释:“首先,.dat 文件和 .mpg 文件都是符合MPEG1压缩标准的音视频数据流(当然也可以没有音频),但是他们的数据分包大小有所区别。.dat 文件是刻在VCD盘片上的数据,为了方便光盘数据的存取,所以就遵循了VCD刻录的标准,每个数据包的大小为2324个字节,也就是正好一个扇区存储空间的大小。VCD碟片是由一个或多个音轨组成。第一个轨道是一个小的2048字节/扇区的数据轨,有一个iso9660文件系统,通常包含Windows VCD播放程序,但可能还有其他信息 (例如:图像,文字等等)。如果有图片,多半是歌曲的目录和制作公司的宣传图片。第二轨道及之后的轨道是未处理的2324字节/扇区的MPEG(电影)轨,每个扇区包含一个MPEG PS数据包而没有文件系统。通常我们看到的约600 MB.dat文件,其实它不是一个文件,这就是所谓的ISO通道,用来使Windows能够处理这样的轨道(Windows根本不允许程序直接访问未处理的设备)。在播放时,光驱会顺序读取每个扇驱,而形成一个连续的MPEG(电影)数据流。因此,在Linux下你是不能复制或者播放这些文件。而 .mpg 文件不是为了刻成VCD盘而准备的数据。所以数据包可大也可以很小。常常会遇到这样的情况,整个 .mpg 文件就是一个数据包。”

无疑,上面的解释有道理,至少我认同。DATMPG当然不是同类文件,它们的文件头也是不一样。用WinHex分别打开正常的datmpg文件,察看它们的文件头信息,

DAT文件头是以“RIFF….CDXAfmt  (….为任意字符)开头的,十六进制就是“5249 4646 XXXX XXXX  4344 5841 666D 7420 (XXXX为任意十六进制数值)

MPG文件头以“0000 01BA”开头,对于大部分正常的KTV视频文件是“0000 01BA 2100”开头。

有些非正常的DATMPG文件在电脑上能够播放,但是刻录到光盘放到VCD/DVD机上却不能播放,就是在于文件头错误,机器不能正确识别(当然最新的机器可能识别能力要强点),在电脑上正常播放是借助了播放软件强大的纠错功能,可以跳过头文件直接读取视音频数据。

那么平常我们播放的时候怎么区别是DAT还是MPG文件呢。我们当然可以使用专门的编码软件来查看媒体文件,但是比较麻烦,而且不实际,总不能每次都用软件查看吧。其实大多数播放软件都提供了察看文件详细信息的功能,如暴风影音,KMP等。这里我使用KMP这款播放器,因为其提供的媒体文件的播放信息、滤镜信息非常详细,而暴风影音和WMP一样非常简单的信息。打开KMP的“高级播放信息”功能的快捷键是“Alt+Tab”。

下面我们来研究.dat.mpg的视频区别,打开一个A.dat文件,显示的部分视频信息如下:

General

Complete name : A.dat

Format : CD Mode 2 /  / CDXA/MPEG-1PS

Video

Codec : MPEG-1 Video

Codec settings/Matrix : Standard

然后打开一个B.mpg文件,显示的部分视频信息如下:

General

Complete name : B.mpg

Format : MPEG-1 Program

Format/Family : MPEG-1

Video

Codec : MPEG-1 Video

Codec settings/Matrix : Standard

很明了,虽然编码都是MPEG-1编码(这是肯定无疑的),但DAT文件显示的格式是CD Mode 2 /  / CDXA/MPEG-1PS ,而MPG文件显示的格式是MPEG-1 Program,这就是区别,即使更改扩展名也不变。

而且DAT格式和MPG格式在大小上有区别,据我在XP平台试验的结果,同一文件转换的DAT格式比MPG格式文件要大一点点。我猜想原因是DAT文件特性决定的,由于DAT文件是划分为很多个大小为2324个字节的扇区存储的,在绝大多数情况下一个DAT文件不可能就是2234字节的整数倍,必然有多余的部分字节,而这多余的可能没有2234字节但是却按2234规格封装数据包,而且可能有连续很多个轨道的数据包都有空间冗余。而整个.mpg 文件就是一个数据包,你数据包有多大就占多少硬盘存储空间,数据是连续的,数据间没有冗余。另外,在Windows平台上看到的DAT文件比MPG大,这大的部分就是DAT文件冗余的空间,其实真正的数据流,也就是光驱读取VCD光盘每个扇驱,而形成一个连续的MPEG数据流和MPG文件数据应该是一样的,至少差别非常小,毕竟DATMPG之间是无法无损转换的。

以上是我的个人经验,在没有更好的解释之前,我只能就这么认为了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值