Fork by rlaPHOENiX of,一个纯Python实现的Windows API IDvdInfo2::GetDiscID方法,由Windows Media Center用来计算一个“实际上唯一”的64位CRC,用于元数据检索。

rlapydvdid的Python项目详细描述


Travis badgeCoveralls badgeScrutinizer badge

概述

pydvdid是Windows API IDvdInfo2::GetDiscID方法的纯Python实现,Windows Media Center使用它计算一个“实际上唯一的”64位CRC以进行元数据检索。在

动机

我需要一种零知识的方法来恢复关于插入的DVD或挂载的ISO映像的一些基本信息,而google搜索时却浏览了dvdid。编译后的解决方案不符合我的要求,所以我将其重新实现为Python模块。克里斯托弗·基因最初开发了dvdid并将算法记录得如此透彻,这一点值得称赞。在

pydvdid被认为是有用的DVD翻录脚本,自定义咆哮通知,和媒体中心相关的家庭自动化任务。在

兼容性

适用于Python版本2和3,从2.6到夜间构建。在

支持Windows、Mac OS和Linux。在

可用性

从PyPI或直接从GitHub获取。在

PyPI:

PyPI statusPyPI versionPyPI formatPyPI python versions

pip install pydvdid

GitHub:

Releases

示例

从外壳:

^{pr2}$

来自Python:

pydvdid有一个非常简单的API,重要的位被导入到包级别,因此可以方便地直接从包中导入。在

>>>frompydvdidimportcompute>>>crc64=compute("/mnt/dvd")# or "/dev/sr0", or "E:" e.t.c>>>str(crc64)'a5acf20f2e56954b'>>>fromurllibimporturlopen>>>urlopen("http://metaservices.windowsmedia.com/pas_dvd_B/template/GetMDRDVDByCRC.xml?CRC={0}".format(crc64)).read()'<?xml version=\'1.0\' encoding="UTF-8" ?><METADATA xmlns:sql="urn:schemas-microsoft-com:xml-sql">\r\n\t\r\n\t<MDR-DVD><version>4.0</version><dvdTitle>Room on the Broom</dvdTitle><studio>N Circle Entertainment</studio><leadPerformer>Gillian Anderson; Rob Brydon; Martin Clunes; Sally Hawkins; Simon Pegg; Timothy Spall</leadPerformer><actors>Gillian Anderson; Rob Brydon; Martin Clunes; Sally Hawkins; Simon Pegg; Timothy Spall</actors><director>Jan Lachauer; Max Lang</director><MPAARating></MPAARating><releaseDate>2013 08 06</releaseDate><genre>Children&apos;s/Family</genre><largeCoverParams>cov150/drv600/v691/v69118k4p4h.jpg</largeCoverParams><smallCoverParams>cov075/drv600/v691/v69118k4p4h.jpg</smallCoverParams><dataProvider>AMG</dataProvider><wmid_dvd>E568D84B-4CB8-4296-8896-716DDCFA1458</wmid_dvd><dv_id>E   303360          </dv_id><dataProviderParams>Provider=AMG</dataProviderParams><dataProviderLogo>Provider=AMG</dataProviderLogo><moreInfoParams></moreInfoParams><title><titleNum>1</titleNum><titleTitle>Room on the Broom</titleTitle><studio>N Circle Entertainment</studio><director>Jan Lachauer; Max Lang</director><leadPerformer>Gillian Anderson; Rob Brydon; Martin Clunes; Sally Hawkins; Simon Pegg; Timothy Spall</leadPerformer><actors>Gillian Anderson; Rob Brydon; Martin Clunes; Sally Hawkins; Simon Pegg; Timothy Spall</actors><MPAARating></MPAARating><genre>Children&apos;s/Family</genre><providerRating></providerRating><communityRating></communityRating><chapter><chapterNum>1</chapterNum><chapterTitle>Scene One [4:47]</chapterTitle></chapter><chapter><chapterNum>2</chapterNum><chapterTitle>Scene Two [7:29]</chapterTitle></chapter><chapter><chapterNum>3</chapterNum><chapterTitle>Scene Three [4:31]</chapterTitle></chapter><chapter><chapterNum>4</chapterNum><chapterTitle>Scene Four [9:55]</chapterTitle></chapter></title></MDR-DVD>\r\n</METADATA>'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
尝试连接到Red5服务器时出现java问题   java实现Runnable的类被认为是ExecutorServices的“Runnable任务”?   java struts2类中的多个@validation   java未能应用插件[class'org.gradle.api.plugins.scala.ScalaBasePlugin']:gradle v2。13   如何使用Java流仅收集长度最大的元素?   从spring引导应用程序连接到firestore的java引发空指针异常   java从SQLite插入和获取真实数据类型会为连续插入获取空值吗?   当存在未知数量的空格时,使用java替代正向查找   部署如何为当今的浏览器部署java小程序(小程序、嵌入、对象)?   @OneToMany和@ManyToOne@Formula之间的java双向关系返回null   java为什么在我的例子中,协议缓冲区的性能比JSON差?   如何部署混合C++/Java(JNI)应用程序?   java如何在程序中显示字符串的完整信息。反恐精英?   java在Hibernate中从持久性上下文中分离实体中的实体