搜索 社区服务 统计排行 帮助
  • 1855阅读
  • 1回复

[原创]用eMule 0.49b CN-7 Build 191 Final “从文件导入”功能来补完坏档

楼层直达
级别: 小荷初露
注册时间:
2004-12-16
在线时间:
0小时
发帖:
132
引用
版权声明:本文由feifeiyu_cn首发于中国驴论坛(http://www.edonkey2000.cn/bbs/thread-258198-1-1.html),内容以中国驴论坛的帖子为准。
转载前请先在中国驴论坛通过PM联系feifeiyu_cn,请告知转载的目的地。禁止在未获得作者本人授权之前转载到任何网站和论坛!


前言:eMule 0.49b CN-7 Build 191 Final(下文简称CN-7 191)取消了CN老版本原有的“强行校验文件”功能,而从其他MOD引入了功能更强大、操作更方便的“Import parts to file...(从文件导入...)”功能。
作为要求增加此功能的推动者和此功能的测试者之一,仅以本文来回报CN Mod的开发团队。
本文仅针对CN-7 191,不对其他有相同功能的Mod负责。

下面进入正题了~~~

本地有一个mkv文件,播放经常卡住不动。已知原始正确文件的CRC32为800D3F80,经过校验对比CRC32,发现此文件存在错误,下面用CN-7 191来对此文件进行补完。

在CN-7 191里,右键单击下载任务,可以看到“从文件导入...”功能,这就是本文的主角。
但在主角登场之前,要先做点准备工作。


在CN-7 191添加ed2k网络里面对应文件的下载任务,先稍微下载一下
等到文件详情里面“Hashset 可用”从“否”变为“是”时,不必停止下载任务(如果下载速度极快就先暂停吧。。。囧)
 

选择“从文件导入...”,然后找到原来坏档的保存位置,选择损坏文件,CN-7 191开始执行导入操作,请等待操作结束。


EM是按9.28MB来对文件分段的,此导入操作会校验坏档的数据,完整的文件段会直接作为该下载任务的.part;损坏的文件段,满足条件(详见下文)的情况下CN-7 191会尝试向其他完整来源发出AICH恢复数据的请求,从而提高最终的下载任务完成进度。AICH生效是需要条件的,锦上添花而已,请将AICH恢复到的数据看作是bonus吧@_@

本例中,没有AICH恢复操作的情况下,完成进度为81.4%


之后靠AICH恢复了不少数据,最终下载任务进度超过了99%




注意:
1、最好在下载或者排队状态下导入文件,连上足够的完整来源之后将下载任务暂停亦可,以使得AICH请求能够工作。
如果停止任务时执行导入,请在恢复下载之后再次导入一次相同的文件,反复多次进行导入不会覆盖已经完成的文件段,请放心操作。
2、AICH要能够工作,必须连上足够的完整来源以获得AICH Hash,否则会Verbose里面会有“Unable to request AICH Recoverydata because we have no trusted Masterhash. ”的记录。
Enig123和zz_fly说过需要10个以上的完整来源提供相同的根AICH Hash,根AICH Hash才会被信任,从而能够向完整来源请求恢复数据。
所以添加ed2k网络对应文件时,最好直接找到带有根AICH Hash的链接(链接里面有h=XX……XX),使得向完整来源请求到的子AICH Hash能被直接信任,就是文件详情里面AICH Hash能够直接显示。这样不需要连上10个以上的完整来源,就有可能用AICH来复到数据。

3、对于以BT为代表的其他P2P方式得到的不完整文件,由于数据不是以连续方式下载到的,用此方法很可能不能做到很高的完成度。
zz_fly测试过一个BT下载进度超过90%的文件,导入之后进度不到50%,通过AICH恢复完数据之后,进度到了80%左右。
所以,BT转eMule下载,最好还是用专用工具(如dmTorrent2Part,请自行搜索);如果确实要用CN-7 191的这个功能,请在BT无种且完成率较高,但实在下不动的情况下使用。
4、由于导入操作涉及到文件复制,所以导入和TEMP所在文件夹同一个硬盘的文件,CN-7 191可能会出现短时间假死现象,请耐心等待操作完成。如果安装了多个硬盘,建议将要导入的文件放到另一个的硬盘,这样会加快导入的效率。
级别: 风纪警察
注册时间:
2002-10-13
在线时间:
1123小时
发帖:
133737
只看该作者 1楼 发表于: 2008-10-15
很不错的补档方法


在世界的中心呼唤店宝
快速回复

限150 字节
上一个 下一个