VCD结构与Mplayer播放.DAT文件

发表于:2007-07-01来源:作者:点击数: 标签:
VCD结构 VCD碟片由一个或多个音轨组成: 第一个轨道是一个小的2048字节/扇区的数据轨,有一个iso9660文件系统,通常包含 Windows VCD播放程序可能还有其他信息 (图像,文字等等)。 第二和之后的轨道是未处理的2324字节/扇区的MPEG(电影)轨,每个扇区包含一个

VCD结构



VCD碟片由一个或多个音轨组成:




  • 第一个轨道是一个小的2048字节/扇区的数据轨,有一个iso9660文件系统,通常包含Windows VCD播放程序可能还有其他信息
    (图像,文字等等)。
  • 第二和之后的轨道是未处理的2324字节/扇区的MPEG(电影)轨,每个扇区包含一个MPEG PS数据包而没有文件系统。音频CD的轨道也类似。
    这些轨道是 无法被mount的 (你曾经mount一个音频CD然后播放过吗?)。大部分电影都在这个轨道,所以你应该先试试
    -vcd 2 。
  • 有些VCD碟片没有第一个轨道(单轨道而根本没有文件系统)。它们也可以播放,但是不能mount。


关于.DAT文件:



在mount了的VCD的第一轨上看到的~600 MB的文件不是一个真正的文件!这是所谓的ISO通道,用来使Windows能够处理这样的轨道(Windows根本不允许程序直接访问未处理的设备)。在Linux下你不能复制或者播放这些文件(它们里面是些垃圾)。在Windows下这是可以的,因为它的iso9660驱动能模拟在这个文件中读取未处理的音轨。要播放一个.DAT文件你需要Linux版的PowerDVD中的内核驱动。它有一个经过修改的iso9660文件系统( vcdfs/isofs-2.4.X.o )驱动,可以通过这个.DAT影子文件模拟读取未处理音轨。如果你用它们的驱动来mount,你可以复制甚至用mplayer直接播放.DAT文件。但如果用Linux内核的标准的iso9660驱动是 不会有用的 !应该使用 -vcd 选项。另一种复制VCD的方法是新的 内核驱动(不是官方内核的一部分),它能够把CD的 sessions 显示成镜像文件,或者 ,一个bit-by-bit的CD抓取/复制程序。

原文转自:http://www.ltesting.net