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. intellij idea 必知的debug功能
  2. C语言实现类似QQ聊天界面抖动功能
  3. 阿里云多个智物新品集体出道,持续加速产业智能化
  4. 详解C语言中 # 和 ## 的用法
  5. HTML5 FileReader API 测试(一)
  6. 25. PE结构-PE详解之资源
  7. 【springBoot】注解的详解
  8. HuggingFace学习2:使用Bert模型训练文本分类任务
  9. Spark与MR的区别
  10. env-FindClass()为NULL的一种解决办法
  11. 新版DAEMON Tools Lite打不开 bin 文件解决方法
  12. mybatis 3.x 缓存Cache的使用
  13. 苹果笔记本 麦克风设置
  14. Firefox OS开发指南
  15. 预训练模型 PLOME
  16. message的警告弹窗放在最上层
  17. 黑白双轨棋·改编(定子棋,终盘换子,在计算赢子的多少)
  18. 疫情下的网络舆情管控方案
  19. JS 逆向的时候 Python 如何调用 JavaScript 代码?「建议收藏哦!」
  20. 企业邮局在koomail里的设置方法

热门文章

  1. 高级信息系统项目管理(高项 软考)原创论文项目背景合集
  2. VC6.0中创建和使用静态库
  3. 远光智能报账系统荣获“2021年度优秀软件产品”
  4. oracle工作每月1号,利用oracle定时任务生成每月从1开始的流水号
  5. IE9兼容flex布局,以及CSS3
  6. 小游戏 搭建 投篮 --项目
  7. 多边形或轮廓等距离外扩或收缩
  8. mysql百度云_Mysql 免安装教程 百度云网盘有文件和word说明
  9. QML Drawer使用
  10. OpenCL 通用编程与优化(15)