广泛使用的工具DVD2AVI和mpeg2dec的遭受从根本上的缺陷:他们不提供从输入流中的所有帧。简单地说,他们失去了框架。
与音频同步和制作一些工具,这可能会导致严重的问题。不仅如此,但随机帧连接不正确处理,可以通过mpeg2dec的神器出山:www.shenqi73.com(和它的克隆)在时间轴上航行时,返回不正确的帧。
此外,原始DVD2AVI项目在一段时间没有更新,它站在了一些修正和升级的需要。我的这个版本解决了很多原项目的刺激性功能,同时增加了许多新的和有用的功能。
值得注意的是,MPEG1,PVA和传输流的支持。
有三个原因,在出现故障的版本的帧丢失。
1。 DVD2AVI没有冲洗出来的D2V文件,然后再写入和关闭的最后一帧的数字。这会导致一帧结束时丢失。
2。 mpeg2dec的削减两帧的帧计数为3以下的解决方法。这是一个缺憾的黑客不应该是必要的。因此,由于这一点,上述第1,3的帧将总是被丢失。他们都失去了底。
3。如果GOP具有开口的第一P帧(IBBPBBP. ..)之前的B帧,然后DVD2AVI生成一个不正确的D2V文件,在其中的第一个数字为孤立的B帧和一些剩余的位数写入满分地方。此外,mpeg2dec的不能解码的第一P帧之前的B帧,并因此丢弃它们。一些帧将丢失第一P帧之前的B帧的数目相等。他们开始失去了。
因此,举例来说,如果处理的VOB具有IBBPBBP ...开放GOP,你将失去一共有5帧,2输给了在开始和结束时失去了。
除了丢失的帧,mpeg2dec的不执行随机帧访问正确。事实上,它总是丢弃在GOP中的第一个B帧之前的第一个P帧。如果他们(说)框架12和13(显示顺序),试图寻求到12,mpeg2dec的折腾他们,并返回给你,没有任何警告或指示有关帧14。
最后,当上述第3条适用TFF / RFF标志的D2V文件中的帧对齐。
我已经创建了固定的版本DVD2AVI和MPEG2DEC3解决这些问题,并提供了很多非常有用的新功能。为了避免混淆,这些被重命名的DGIndex,DGDecode分别。
我设计的DGIndex创建完全正确的D2V文件,其中包含所有的输入帧。我设计的DGDecode,不要截断之前的第一个P帧B帧,并不能无条件地减少由两帧计数。我重写了解码和随机存取代码正常工作,由固定的DGIndex生成D2V文件。
的DGIndex,如果你的输入流开始以开放的GOP,会弹出一个消息框,警告您可能无法正确解码的第几帧,帧将被保留(他们的第一个解码帧的副本输出,所以不输出损坏的帧)。为了避免这个问题,总是剪下的VOB单元格边界。不要随意的VOB削减与一个二元分离器(如VOBSplit)。