我(jgirot)不是本软件的原始作者或以下有关它的信息。
以下从http://bblank.thinkmo.de/blog/archive/2010/08/29/new-software-python-dvdvideo于2016年9月13日进行了复制。另外,如果原始源被删除或其他不可用,则在此处复制为后代。
开始原始博客文章:
Python-DVDVIDEO是读取DVD-Video图像的库。它包括一个用于转储加密DVD-VIDEO图像的工具。它在Python 3中实现。
经过很长时间,我决定再次写信。我决定从我为自己的用法编写的软件开始,这对他人很有用。我将从Python-DVDVIDEO(python 3中写的DVD-Video读取器)和参考工具DVD-VIDEO-BACKUP-image(通用DVD-VIDEO DUMPER)开始。让我们看看,如果此博客将来会看到更多帖子。
意图
我开始写这个软件,因为libdvdread通常无法破译我新购买的视频DVD。 LibDVDRead期望文件系统和磁盘上其他元数据的有效结构相当有效。它将在几个错误条件下强行纾困。因此,我经常结束修补libdvdread,以使DVDbackup能够读取新磁盘。
通常,有两种方法可以创建此类DVD的备份,例如文件或完整的图像。如果文件系统中存在某些缺陷,则将它们倾倒为文件,就像几个标题集中的某些空间一样。我有一个磁盘在这种转储过程中产生25GIB的输出。因此,这样做的问题较小的方法是倾倒完整的图像。这就是我在我基于此的工具中使用的方式。
部分
该软件分为几个部分。首先是一个小型UDF阅读器。最重要的是DVD视频阅读器。它利用了libdvdcss包装器。所有这些都用于实现一个小工具来倾倒整个图像。我将在这里描述这些部分。
UDF阅读器
UDF阅读器实现了一组最小功能。我仅实施了根据需要发现的东西,并在可用的DVD中使用了。该读者允许阅读LowLevel UDF,用作所有视频DVD的基础。
DVD视频阅读器
DVD视频阅读器使用UDF读取器从磁盘中获取必要的信息。同样,这个读者很安静。它仅信任UDF的标题集开始,并期望在信息文件中列出其他任何内容。这允许读取甚至具有损坏的文件系统的光盘,这确实很常见。
libdvdcss包装器
LIBDVDCSS包装器是使用CTYPE实现的。 CTYPES库允许轻松访问共享对象中定义功能。该库允许调用函数和地图参数,并将值返回到Python数据类型。该包装器允许我阅读加密的DVD。
图像傻瓜
该工具允许将加密的视频DVD转移到文件中。它试图检测磁盘的加密(视频/VOB文件)和未加密的(信息文件,否则使用的空间)部分。这样,只要它可以读取文件系统和信息文件,就可以转储任何内容。但是,某些光盘包含重叠的区域,这很容易脱发。
该工具包括一个小型冲突解析器,该解析器处理重叠的零件。它使用一组规则来允许某些类型共存并修改一些类型。关于规则,将包含在信息文件中的内容进行了重新标记,但也没有始终将标题VOB放置。有了这个解析器,大多数问题都可以解决,我们将获得可播放的结果。
许可和分发
该软件包是获得许可的GPL 3或更高版本。它适用于通过alioth分发的新(git://git.debian.org/users/waldi/python-dvdvideo.git)
结论
该工具使我可以将所有视频DVD丢弃我上次接触的所有视频DVD。它使我可以在笔记本上观看没有光盘读取器的视频。也许有人也可能需要这样的工具。