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 文件就是一个数据包。”

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

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

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

有些非正常的DAT、MPG文件在电脑上能够播放,但是刻录到光盘放到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文件数据应该是一样的,至少差别非常小,毕竟DAT和MPG之间是无法无损转换的。

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

DAT与MPG文件之间有什么区别(转)相关推荐

  1. dat和mpg文件的区别

     .dat 文件和 .mpg 文件的区别 leaf_zhou_8@hotmail.com http://www.minshida.com 常常有人问.dat文件和.mpg文件有什么区别?这个问题也曾困 ...

  2. 分析DAT与MPG文件格式的区别

    分析DAT与MPG文件格式的区别 原文较早,网易博客链接已失效,在此重新发布. DAT文件和MPG文件有什么区别? 很多MTV都是.dat 或者是 .mpg格式,用电脑播放软件播放的时候,这两个扩展名 ...

  3. dat文件和.mpg文件有什么区别?

    常常有人问.dat文件和.mpg文件有什么区别?这个问题也曾困扰了我很长的一段时间.现在终于有所领悟,不敢独享,介绍给大家. 首先,.dat 文件和 .mpg 文件都是符合MPEG1压缩标准的音视频数 ...

  4. npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?

    本文翻译自:What's the difference between dependencies, devDependencies and peerDependencies in npm packag ...

  5. ashx PHP文件 优劣,.NET_ashx介绍以及ashx文件与aspx文件之间的区别,ashx是什么文件? .ashx 文件用于 - phpStudy...

    ashx介绍以及ashx文件与aspx文件之间的区别 ashx是什么文件? .ashx 文件用于写web handler的..ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类 ...

  6. Docker映像和容器之间有什么区别?

    本文翻译自:What is the difference between a Docker image and a container? When using Docker, we start wit ...

  7. 应用程序服务器和Web服务器之间有什么区别?

    应用程序服务器和Web服务器之间有什么区别? #1楼 最大的不同是Web服务器处理HTTP请求,而应用程序服务器将在任意数量的协议上执行业务逻辑. #2楼 这取决于特定的体系结构. 某些应用程序服务器 ...

  8. java jar包和war包_java中jar包和war包之间有什么区别

    原标题:java中jar包和war包之间有什么区别 jar包 简单地说,JAR(Java Archive)是一种包文件格式.JAR文件具有.jar扩展名,可以包含库.资源和元数据文件. 本质上,它是一 ...

  9. PHP和Node.js开发之间有什么区别

    在很长一段时间内,决定在Node.js和PHP之间进行选择是一件很麻烦的事情,但对于后端程序员来说,这一直很麻烦,但它从未影响过开发人员.但是事情很快就发生了变化,现在开发人员必须选择其中之一.Nod ...

最新文章

  1. thinkPHP 模板的使用技巧(十三)
  2. AI转型业绩哪家强?联想一季度营收853亿,净利11亿
  3. canal中mysql版本错误日志
  4. 跟着JAMA论文学习重复测量资料分析方法
  5. Eclipse集成Maven插件tomcat部署 Debug jar包的源码联结
  6. jzoj100046-收集卡片【暴力】
  7. WCF调试异常信息:找不到类型“”,在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHosting...
  8. 西班牙人:武磊身体无恙 可以出场比赛
  9. 如何设置ddns动态域名服务实现外网访问
  10. 单片机_rom_ram,程序容量之迷
  11. Pandas里面的加权平均,我猜你不会用!
  12. 【信息安全】屁股决定脑袋的COSO内控框架,一篇对COSO的趣评
  13. matlab输出正负号±
  14. Linux磁盘分区的详细步骤(图解linux分区命令使用方法)
  15. foxmail国外只能收邮件,不能发邮件
  16. compare和compareTo方法的区别
  17. 配置 sysctl.conf 系统参数详解
  18. 猪呀,羊呀,送到哪里去?
  19. DC入门教程(二)——综合的整体流程
  20. bzoj 3620: 似乎在梦中见过的样子

热门文章

  1. 地理建模---------三调地类批量筛选----1
  2. 云上看警博会黑科技,得益于华为云打造的“云之盾”
  3. php有什么用可以定时发微博,php人性化时间(类似微博)转换两组
  4. leo-手机开单库存管理系统
  5. 关于使用 trados 抽取 中文术语 的方法
  6. 优质网站资源推荐2.0
  7. numpy.maximum()函数和numpy.minimum()函数的使用
  8. 非小型电子商务系统数据库设计
  9. 记录一段工作后的篮球赛经历
  10. E72i 连接到电脑的各种方式