DGIndex中文用户手册

来自NMM Doc
VempX讨论 | 贡献2010年11月5日 (五) 17:49的版本
跳到导航 跳到搜索

DGIndex是什么

DGIndex是DGMPGDec工具包的一个组件,它主要用来创建MPEG视频流的索引文件,这个文件包含了每一帧的位置和一些其他附加信息。这个索引文件,或者叫做工程文件,可以用AVISynth通过加载DGDecode滤镜来将其载入以提供帧精确服务。DGIndex可以解码大部分的MPEG1/2流,包括基本流、节目流、VOB、VCD、SVCD、PVA和传输流。并且包含了视频分离(m1v/m2v),音频分离(ac3,dts,aac,mpa,lpcm),最优化的iDCT,亮度滤镜,裁剪滤镜等附加功能。
DGIndex基于Chia-chen Kuo的DVD2AVI 1.77.3并进行了改进。
改进之后被命名为DGIndex以避免名称上的冲突,并且能显示出功能上的区别以及确实的表示它属于neuron2的DGMPCDec组件包。Neuron2会通过后面的开发人员名单来展示DGIndex的起源。
你可以在这个地址找到最新的编译版和源代码 http://neuron2.net/dgmpgdec/dgmpgdec.html
DGIndex是一个基于GPLv2条款的免费软件,在使用本软件或代码前你必须同意这个条款,详细内容请查看条款章节。
本文档是DGIndex的参考手册,查阅此文档可以获取快速指南、常见问题以及DGIndex典型使用方法的指导。

文件菜单 [File Menu]

打开 [Open]

使用本选项可以打开一个或多个源文件。如果你要打开多个的文件,则它们将会按照文件列表内显示的顺序连接起来。多路处理或帧服务将会生成一个包含源文件的单独输出流。当你要打开多个文件的时候,所有的文件必须是同样的类型。比如,你不能同时打开MPEG1和MPEG2文件,不能同时打开节目流和传送流等等。
点击文件/打开之后可以做以下两件事:
  1. 如果还没有打开任何文件将会看到打开对话框。你可以通过按住SHIFT或CTRL键来选择多个文件。单击打开返回文件列表对话框。
  2. 如果有一个或多个文件已经被打开,则会出现文件列表对话框。
你还可以通过拖拽文件到DGIndex的窗口上来打开它。这将会打开文件列表对话框列出拖拽中所包含的文件。
当使用文件列表对话框打开了新文件之后,会对这些文件进行排序(使用一个智能的排序算法)并列出。少见的情况下它给出排列顺序并不是你所需要的,不过这可以通过列表编辑按钮来进行修正。以下是在列表管理中可以用到的按钮:
  • 添加 [Add] - 打开文件选择对话框
  • 提高 [Up] - 将选定文件的位置向上提高一级
  • 降低 [Down] - 将选定文件的位置向下降低一级
  • 删除 [Del] - 将选定文件从列表中删除
  • 全部删除 [Del All] - 删除列表中的所有文件
当你对列表中的排序满意之后,点击"OK"按钮,DGIndex则会把列表中的文件按照顺序连接起来并载入。
有时由于剪切或编辑,视频流开始的几帧或许无法正确解码(因为他们的参考帧丢失了)。如果你的文件列表中的第一个文件出现了这样的情况,那么需要用第一个可以正确解码的帧的拷贝来替换这几个坏帧。

关闭 [Close]

这个选项用来关闭所有已经打开的文件。

载入工程 [Load Project]

使用这个选项载入已经存在的DGIndex(d2v)工程文件。
当一个工程文件载入后,DGIndex将会按照正确的顺序打开工程中的文件并按照工程文件还原以下设置:
  • IDCT算法
  • 场操作
  • YUV -> RGB 范围
  • 亮度滤镜
  • 剪切
  • 时间轴选取点
例如音频等一些没有在上面列出的选项将不会被还原。它们将会保持在载入工程文件之前的状态。

保存工程 [Save Project]

这个选项用来创建一个DGIndex工程文件(d2v file),这个工程文件可以通过DGDecode(或者DGVfapi)来给视频提供帧服务。
DGIndex所创建的这个工程文件包含源文件的路径、视频设定以及MPEG索引信息。如果想了解更多关于d2v文件结构的信息,请参考附录A。
当保存工程文件时,它会遵循时间轴上的选取点,意思就是,需要被提供帧服务的视频以及分离出来的音频将仅仅包含时间轴上选取点范围内的输入数据。
生成工程文件大概需要几分钟,这取决于工程文件的体积以及你计算机的性能。
记住一旦工程文件创建完成,不要去更改源文件的路径和名字。如果你必须要对源文件改名或者移动它,那么你需要重新生成你的工程文件,或者编辑d2v文件开头部分关于路径的内容。

保存工程并分离视频 [Save Project and Demux Video]

这个选项和上面的“Save Project”一样,能够创建一个d2v文件,并且同时还能把视频分离出来成为一个独立的基本流文件(m1v或m2v文件)。某些程序(比如 DGPulldown 和 DVD authoring 等等)有时会用到这种基本流文件。此功能对于有经验的用户来说会是一个十分方便的工具。基本流并非必须使用帧服务来加载(DGDecode或DGvfapi)。
基本流文件会创建在与d2v文件相同的目录,并且文件名会用特定的方式和d2v文件名相连接,对于MPEG1使用“.demuxed.m1v”,对于MPEG2使用“.demuxed.m2v”。举例来说,如果工程文件的名字是“movie.d2v”并且它是MPEG2视频,则基本流的文件名会是“movie.demuxed.m2v”。
注意分离操作只会生成一个基本流文件,即便工程文件中包含了多个源文件。

分离音频流 [Demux Audio-Only Stream ]

有些源只包含音频,所以没有为它创建工程文件的必要。当然这些音频可以被分离出来,DGIndex也有这个功能。它经常被用在一些包含视频的流上(虽然用它代替Save Project没什么意义),此时会忽略选取范围分离整个流,并且不会汇报音频的延迟值。
请注意你无法使用此选项把音频解码为WAV,必须使用Save Project。
分离出来的音频文件会创建在与源文件相同的目录,文件名会基于被打开的第一个源文件名。
注意分离操作只会生成一个文件,即便工程文件中包含了多个源文件。

保存位图 [Save BMP]

这个选项用来把显示在DGIndex窗口中的当前帧保存为Windows BMP文件。当使用此选项之后,会打开一个文件对话框来指定保存位置和文件名。

预览、播放、停止、暂停/恢复 [Preview, Play, Stop, Pause/Resume ]

这些选项用来控制视频的播放,括号内是键盘快捷键。
  • 预览(F5)- 在时间轴上的选取范围内从头到尾播放。
  • 播放(F6)- 从时间轴上的当前位置开始播放。
  • 停止(ESC)- 停止正在播放的视频。
  • 暂停/恢复(空格)- 暂停/恢复正在播放中的视频。
播放和预览功能仅针对视频,没有音频。
通过选项/播放速度菜单可以控制视频的播放速度。

关于Honor Pulldown Flag、Ignore Pulldown Flags和Force Film

MPEG2视频提供了RFF旗标,在播放过程中可以使任意帧的一个尝自动重复。这个被重复的场不存在于MPEG2视频流中,而是在解码视频流的过程中通过复制得来的。这个机能通常用于将胶片速率(Film rate,即23.976fps)的影片在NTSC速率(NTSC rate,即29.970fps)的设备上播放,其过程称为3:2 Pulldown

然而事实上,经常会遇到使用不同方式(pattern)进行pulldown的情况。比如,将25fps的PAL转换至29.970的NTSC帧速。

理解原理,并为此选项的设置找到合适的参数而做些练习,是很必要的。在这里我们只能说明操作方法并给出一些大致的指导。在现在已有的文章中有更多进一步的说明。 Field Operation选项允许用户指定如何处理pulldown(RFF)旗标。

Honor Pulldown Flags(遵循旗标)

在旗标存在的情况下将会遵循旗标,该重复的场会被重复。这就意味着你得到的结果将会与在最终显示设备上获得的结果相同(译注:Final Display Device,最终显示设备,这里作者应该是指电视或其他显示设备,而不是电脑)。所以,如果你有一个经过3:2 Pulldown的视频,你会得到标准的3帧无交错帧(Progressive)与2帧交错帧(Interlaced)为一组循环出现的结果。如果你的视频属于PAL或者MPEG1,那么就不会重复场,因为PAL和MPEG1视频中不含有旗标。帧率与源帧率相同。

Ignore Pulldown Flags(忽视旗标)

旗标会被忽视。这个选项将会允许用户得到没有重复场的源MPEG图像。然而,因为重复场本来应该显示(而没有被显示),所以最终得到的帧率(fps)将会与源帧率不同,这种情况甚至会发生在整个片子当中。如果源的pulldown做的不规范,忽视旗标可能会造成严重的声像不同步。这个选项通常只有有经验的用户才会使用,他们通常使用这个选项来判断片源的特征。尽管这个选项将会忽略旗标,但是旗标仍然会被记录在D2V文件当中。 Force Film(强制使用胶片速率)——这个选项是为编码为23.976 fps的内容经过pulldown显示为29.970 fps而准备的。这个选项将会将来源恢复为23.976 fps并且保持全片声像同步。这个选项通过忽视旗标并插入/删除帧来保持稳定、同步的输出流。不要将本选项用于非3:2 Pulldown来源,并且千万不要用于PAL或者MPEG1。

Force Film(强制IVTC)

Field Operations是使用DGIndex过程中需要了解得最重要的选项。大多数人需要首先使用Honor Pulldown Flags进行预览。如果来源不是PAL或MPEG1,并且信息(Information)窗口的Video Type一栏显示Film 95%或更高,那么这个来源便可以作为3:2 Pulldown型来处理,生成D2V工程文件的时候,就可以选择Force Film。 如果Film百分比低于95%或Video Type显示了一个NTSC百分比,那么生成D2V工程文件的时候就应该设定为Honor Pulldown Flags。如果结果是混合的(因为来源是交错,混合型交错/3:2,场混合,等等),你可以在AVS脚本中加入Deinterlace或IVTC滤镜。

如果Film百分比比较低,但是仍占大多数,你可以试试Forced Film,并且看看结果如何。你也许会偶尔遇到一些交错帧,这种情况下可以用FieldDeinterlace(full=false)来处理。如果结果令人满意,那就恭喜你。如果不好,还有很多其他更加高级的方法来处理混合型、硬胶卷过带(hard-telecine)、场混合和其他奇形怪状的来源。更加高阶的的处理方式几乎全部要求使用Honor Pulldown Flags来保存工程文件。

注意事项

当对Film百分比进行测试的时候,最好测试整个来源。因为片头和片尾的类型有时候会与正片不同。

几乎在全部情况下,如果你知道来源并不是大部分由3:2 Pulldown NTSC构成,并且想要选择Honor Pulldown Flags,之后根据需要进行后续的处理。请牢记一点,如果来源中不包含旗标,那么也就根本无从“遵循”,所以这个选项将会直接将源内容输出。

Ignore Pulldown Flags选项只用于想要了解MPEG源内容、类型的高阶用户。

注意,Honor Pulldown Flags之前被称作“None”,Ignore Pulldown Flags之前被称作“Raw Encoded Frames”。

参考文献

http://forum.doom9.org/showthread.php?t=96870