头像
dgwxx
管理猿
帖子: 770
注册时间: 2010-09-19 20:42
联系: 网站

120fps DVDRIP制作细节 增订版Ver.1

2010-09-21 15:03

增订版V1修订说明:
1.在重要词语处加上标记,阅读更方便。
2.增加了AU输入tpr的方法。
最近问120fps制作的问题很多,所以在这里找个机会集中总结一些细节问题。
===============================================
随着vfr(可变帧率)的制作逐渐兴起,以及支援vfr的容器(Container)(比如老牌的MKV,以及新兴的MP4)的不断进步,120fps这种假vfr方法已如明日黄花,即将退出历史舞台。(天啊:o~我在写些什么……历史教科书吗?)
但是在不是所有人都掌握vfr制作之前,120fps仍然可以算作一个较好的折中方案。
之前曾经有文章介绍过TMPEG的手动IVTC的操作(就是sswroom大的《谈手动IVTC》啦~),文章结尾处简单提到过120fps的制作方法,但是并不怎么详细。在这里,我就将sswroom大没有在文章中详细讲解的120fps制作方法写出来,针对一些细节问题进行详细一些的说明。
===============================================
完成了 IVTC 後, 按檔案 > 儲存 TPR 檔
这个就不用多说了,在手动IVTC完成之后,回到TMPGEnc主界面下,在File菜单下选择Save Project,存储.tpr工程文件。这个工程文件非常重要,今后将有可能作为片源(为什么说“有可能”呢?下面就会讲到~),同时也会用来创建120fps制作时插入NULL帧的索引文件。
===============================================
然後丟給 Codec 進行壓縮
sswroom大一句话可以说省略了N多问题~到目前为止很多问题就是针对这句话产生出来的。
我们可以通过AVS作为“中转”,达到“将tpr工程文件丢给CODEC压缩”的目的。

AVS制作的方式一共可以有两种(或许更多,但是我只知道两种),请根据自己的实际情况来选择其中一种。
方法一
优点:可以充分利用TMPGEnc的功能(包括TMPGEnc的全部反交错方式等等的全部功能)
缺点:不能全程YV12制作(中间经过VFAPI,VFAPI内部使用RGB来传递讯息)、TMPGEnc必须完全Crack或使用经过授权的正版TMPGEnc:

代码: 全选

LoadVFAPIplugin("路径\TMPGEnc.vfp","TMPsource") TMPsource("1.tpr") ConverTtoYV12()
其中关键是这个文件TMPGEnc.vfp,这个文件会出现在你安装TMPGEnc的目录下面,所以需要把上面范例中的“路径”改成你安装TMPGEnc的目录。
LoadVFAPIplugin的第二个参数TMPsource,是你指定这个VFAPI plugin的名称,可以自己改名字,但是必须要和TMPsource("1.tpr")里面的名称相对应。
tpr是你刚才转存的tpr工程文件的名字。为了方便起见,这个AVS脚本最好与tpr工程文件存放在同一个目录下。
注意事项:
  1. 因为加载过来的片源是RGB格式的,而AviSynth 2.5x有一些插件不支持RGB颜色,所以如果你下面使用的插件不支持RGB颜色区间的话,还需要挂上ConverTtoYV12()讲颜色区间转换到YV12。
  2. 用方法一写出来AVS脚本之后,画面可能是颠倒的。如果出现这种状况,还需要在AVS脚本中加上FlipHorizontal()或者FlipVertical()来反转画面。在我试验的过程中,出现了画面垂直反转的状况,所以加上FlipVertical()反转回来,但也不排除出现垂直反转,甚至水平和垂直全部反转的状况。如果你发现画面颠倒了,不妨试试上面两个语句。
  3. 使用本方法,实际上就是在调用TMPGEnc,所以如果你使用的TMPGEnc版本破解不完全(据我所知绝大部分所谓的“破解版”TMPGEnc都是属于这种状况),那么在使用VDM等工具打开包含TMPGEnc.vfp的AVS脚本的时候,可能会出现软件过期的错误!所以,我们推荐使用获得合法使用权的软件。
总结一下,如果使用方法一,那么处理的流程是:VOB->DGIndex解码->TMPGEnc->AVS

方法二
优点:全程YV12、不经过TMPGEnc、没有画面反转的麻烦
缺点:不能利用TMPGEnc的全部功能(如自是适应反交错和其他TMPGEnc的功能)、功能不稳定
方法二让人有种“借鸡生蛋”的感觉。因为,我们需要借助一个叫“TPRIVTC”的AviSynth的Plug-in来读取.tpr工程文件中的IVTC和Deinterlace数据。所以,我们最终压制过程中完全不需要经过TMPGEnc,所以能保持全程YV12制作。

代码: 全选

LoadPlugin("E:\gk\DGMPGDec\DGDecode.dll") LoadPlugin("E:\gk\AviSynthPlugins\tprivtc.dll") Mpeg2source("F:\pv\EXILE - Choo Choo TRAIN.d2v", idct=0) DoubleWeave().TPRIVTC("F:\burn\pv\EXILE - Choo Choo TRAIN.tpr") crop(2,0,702,480) LanczosResize(640,480)
在这个例子中,我们可以看到,片源的导入依然使用我们常用的MPEG2Source,只是平常放置IVTC/Deinterlace语句的地方,被DoubleWeave().TPRIVTC("F:\burn\pv\EXILE - Choo Choo TRAIN.tpr")所取代。
这个里面的TPRIVTC的作用就是读取.tpr工程文件中的IVTC和Deinterlace设置的。
需要强调的是,TPRIVTC的Deinterlace功能只对应单取奇或单取偶,以及奇偶混合(就是TMPGEnc中的Double)的方法,没有办法做到TMPGEnc里面的“自适应去交错(Adaptive deinterlace)”,所以遇到有需要单张去交错的画面时,这个 filter 就不是那么好用了(本段winsen语)。
出去上述缺点,TPRIVTC在某些情况下可能会出现工作不稳定的情况,可能导致花屏、VDM异常退出、IVTC(或Deinterlace)无效等等问题。影响的因素可能有颜色区间、AviSynth和TMPGEnc的版本等等。但是,到目前为止我使用这个插件一直很正常,并没有出现什么错误:D。
总结,方法二的处理流程是:VOB->DGIndex解码->AVS。跟我们平常制作的流程一样:P

~~~~~~~~~~增订Ver.1 开始~~~~~~~~~~
事实上,除了使用AVS以外,我们同样可以使用AviUtl(简称AU)来进行压制。
首先要确定你注册了TMPGENC的VFAPI。在AU的ファイル菜单->環境設定->入力プラグイン優先度の設定中,看看列表中有没有TMPGEnc Project File Reader x.xxx的字样。
如果没有,就关掉AU,将TMPGEnc目录下的TMPGEnc.vfp放到AU目录下。之后再打开AU,这时,应该就能正确开启.tpr文件了。
开启.tpr文件之后,一切都跟平常的处理一样了,最终可以通过AU输出.avi的文件。
~~~~~~~~~~增订Ver.1 结束~~~~~~~~~~

好了,到这里最难的部分已经说完了。又是长篇大论呢~本段中所举出的范例AVS脚本只能算是基本中的基本,之后还要视情况添加降噪等滤镜。
写好AVS之后,我们就将这个AVS送给CODEC去压缩,压缩过程跟一般片子一模一样,这里不再赘述。
只不过,这样压缩出来的AVI只有一种帧率。播放一下看看,会发现播放时间不对。所以,这个AVI现在只是半成品,好需要下面进一步的加工。顺便提一下,在这个步骤中,我们可以先将音频merge进这个半成品AVI,但是如果播放的话,你会发现音频/视频不同步,这是肯定的。不要着急,等我们插入完NULL帧就好了。
===============================================
用 TPRRead 開啟 TPR 檔, 並按下 Export AVI Script File 儲存 Script 檔(建議使用 *.txt).
TPRRead是sswroom大写的超伟大的程序,它可以读取.tpr中的IVTC信息,并创建一个脚本,这个脚本将来需要提供给AVIRead,给我们的半成品AVI插入NULL帧将其变成120fps的AVI。
sswroom大说建议使用.txt文件,其实我倒觉得用.asc还是.txt没什么太大的关系^^||
具体操作sswroom大已经写得很明白了,所以不再赘述。
===============================================
用 AVIRead 開啟剛壓好的 AVI 檔,Edit > Insert Drop Frame using script file (120fps), 然後 File > Save As... 便可完成了
启动AVIRead之后,点击Window菜单,选择Open File,打开刚才我们的半成品AVI。之后打开Edit菜单,选择Insert Drop Frame using script file (120fps),程序会弹出对话框,先点浏览Browse)按钮,选择刚才我们用TPRRead生成的脚本文件。
下面的Frame Delay项应该是选择插入的NULL帧的类型吧~(个人无责任猜测,猜错了请不要用西红柿pia我)保持默认的BF就可以了。
之后点OK按钮,经过一番运算,AVIRead确定在那里插入NULL帧。点File菜单,选Save As,就能够输出120FPS的AVI了。

*本文写完之后,没经过校对,但是写了一个半小时,眼睛实在太难受了~以后有时间再校对吧~所以……错别字肯定很多,但是应该在可以接受的范围内吧~HOHO(读者:这家伙已经攒了N多文章没校对过了﹃_﹃〣给我拿西红柿pia他…)
日常推 @dgwxx: 基本没什么技术的话题,欢迎没事看看消遣。
► 显示内容 平庸的rip
► 显示内容 “不知道”的五大理由

amfilica
帖子: 62
注册时间: 2010-10-03 5:07

Re: 120fps DVDRIP制作细节 增订版Ver.1

2010-11-06 15:02

求tprivtc.dll 这个文件的下载地址的说谢谢了

头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 120fps DVDRIP制作细节 增订版Ver.1

2010-11-06 17:25

不知道是不是你要的这个(拖
TPRIVTC.rar
(28.89 KiB) 下载 69 次
► 显示内容 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示内容 胸中有万言,退敌无一策,是谓书生误国"
► 显示内容 前辈们的信念
► 显示内容 妇联招新广告,走过路过可以看看撒
► 显示内容 香芋派,后期菊苣们的一致选择
► 显示内容 众菊苣喜评香芋派
► 显示内容 聊天用工具

btcdtc
帖子: 73
注册时间: 2010-10-29 23:23

Re: 120fps DVDRIP制作细节 增订版Ver.1

2011-01-23 3:40

TMPGEnc是付费软件,尽可能找免费或开源软件比较好吧
因为...某国几乎都是盗版用户(地图炮)

回到 “理论讨论 / Theoratical discussion”