|
本帖最后由 lfk 于 2010-12-5 10:13 编辑
较为简单的带ass特效视频批量转换教程
唔...因为此文会在很多地方发布...看到此文的人的能力肯定也有高有低....
大大们见了可能会想,这sb连MeGUI都不会用还敢写教程
小白们见了可能会想,ass相比srt到底有啥优势啊
呃...所以,在开头先说一下,此文主要是自己折腾了n小时的纪念
还有就是给"可能有相同问题的人"一个能搜索到解决方案的可能性
大大们轻喷
小白们共勉
考虑到图片的时效性,都没有截图,我会尽量用比较容懂的语言描述...= =!
首先,需要的软件/工具清单
1.VobSub http://www.baidu.com/baidu?word=vobsub
2.WisMencoder http://download.pchome.net/multimedia/video/detail-22258.html
3.漫娱论坛MKV整合工具 http://tora.to/blog/232925.htm 或 http://www.manyv.com.cn/bbs/thread-31582-1-1.html (需注册)
4.ReNamer http://www.den4b.com/?x=downloads
5.Aegisub http://www.baidu.com/baidu?word=Aegisub
6.avsTJ.ass.exe/avsTJ.ssa.exe 见附件或http://u.115.com/file/f854d2e804
7.PureCodec http://jm.wmzhe.com/softlist2.html
大概介绍
1.用于支持ass字幕
2.主角,转码用的
3.用于把mkv里封的ass挖出来(如果要转码的文件格式是mkv
4.用于ass字幕的批量重命名
5.调整ass时间轴用(如果是Raw+外挂字幕,有可能时间轴不准确
6.批量修改avs文件用
7.PureCodec,MPC+KMP+ffdshow+haali+Vobsub一键安装
(呃...我不确定此文的方法能在没有安装PureCodec的计算机上可行,因为视频解码的东西好像很多都是通过各种注册dll实现的
1246必装,357看你的需要,推荐安装
正文
前几天,把草莓棉花糖压了给手机看,用的格式工厂,那ass支持的效果叫一个棒,完全把ass当做srt对待了....
满屏的各种控制字符,全未经转意就写出来了...
本来滚动的一行免责声明,丫活生生的给我显示了几分钟(ass里滚动应该是忽略结束时间的,大概....
今天想把双恋转了给手机看,决定不能再用格式工厂那玩意儿了....
于是去搜了下ass内嵌相关的文章,然后也有很多用MeGUI+AVS压的....但是那教程看得我好蛋疼...
而且MeGUI居然不能批量处理.....不能批量也许对压一集需要十多个小时的专业压缩来讲没啥...
但是对于我这种自己转了给手机看的人来讲....蛋疼了点= =
好在,WisMencoder和MeGUI一样,也是Mencoder内核,支持AVS脚本.而且关键的是WisMencoder支持批量压缩...
AVS,全名AviSynth,我的理解是一个允许在压视频的时候加各种滤镜的脚本,专业解释请喂鸡或喂狗...
正文的正文
第一步 得到ASS文件和把ASS文件改名到与视频相同
1.如果ass是被封到mkv里的,请把她救出来,用"mkvextract.exe"也可以,不过推荐使用"漫娱论坛MKV整合工具",因为,能批量!
运行"漫娱论坛MKV整合工具",把所有视频文件拖进去,勾选提取字幕,点开始解析,过一会儿,视频文件所在的文件夹里就会有很多ass文件了
如果是mkv里内嵌了简繁两种,请按喜好删除一种
这时的这些ass,文件名是视频源文件名后面加了个"_track?"的
例如[KTXP][Futakoi+Alternative][01][XVID_AC3][DVDRip]_tract3.ass
假设视频名字为[KTXP][Futakoi+Alternative][01][XVID_AC3][DVDRip].mkv
请把那个ass改名为[KTXP][Futakoi+Alternative][01][XVID_AC3][DVDRip].mkv.ass 后面有讲为什么,先这样改吧
批量改名,推荐ReNamer,启动之后,把要改名的ass拖到"Drag your files here"(初次使用记得点一下Name以按升序排列)
然后点"Click here to add a rule",在Add Rule里选Replace,把"_tract3"替换成".mkv"就行了
2.如果本来就是字幕组弄好的外挂,
比如[KTXP][Futakoi+Alternative][01][XVID_AC3][DVDRip].mp4
和[KTXP][Futakoi+Alternative][01][XVID_AC3][DVDRip].ass,
也请把ass文件改成[KTXP][Futakoi+Alternative][01][XVID_AC3][DVDRip].mp4.ass 后面有讲为什么,先这样改吧
在Add Rule里选Insert,勾选Suffix(逆序),输入".mp4"就行了
3.如果是Raw+外挂,而且视频名字和字幕名字完全对不上
比如 黒神 The Animation 第01話 「三位一在」 (1920x1080 H264 FLAC 2ch コメンタリー).mkv
和 [POPGO&HKG][Kurokami_The_Animation][01][GB_BIG5][X264_AAC](90B02CC8).uni_big5.ass
想要对字幕批量重命名,请在Add Rule里选UserInput,然后在右边的框中输入目标文件名,以换行区分开每个文件
显然,不可能对着视频挨个复制文件名粘贴过去
对于Vista和Win7,对着视频文件所在的文件夹按住shift点右键,选择在此处用Windows命令行打开.....
对于xp,不知道有没有这个功能,没有的话就用 cmd,盘符: cd 文件夹名称 那样进入那个文件夹吧 (或者见后
然后输入dir /b >1.txt
然后在进文件夹,打开1.txt
把文本复制到刚才那个方框中,勾选skip extension(忽略扩展名),就行了
如果你经常看raw,需要经常重命名字幕,推荐你使用这个方法,虽然有点麻烦,但是一劳永逸
1).新建一个txt,里面写dir/b>!!!.txt
保存,改名为getname.bat,记下其存放位置F:\***'s Documents\我的文字
2).win+R,regedit,转到HKEY_CLASSES_ROOT\*\shell下新建子键(key) !.Getname
这里是在右键菜单里显示的名字,随意改个自己喜欢的名字,感叹号比较醒目...
3).在再刚才新建的子键HKEY_CLASSES_ROOT\*\shell\!.Getname下新建子键command(这个不能随便改= =
4).把command键里的字符型变量的值改成刚才那个bat的位置,后面加个空格"%1"....
例如"F:\***'s Documents\我的文字\getname.bat" "%1"
完工,进文件夹对着视频点右键,点!.Getname,然后所有的文件名都保存到!!!.txt里了
对于Raw+外挂,改名完了最好每集点开看一下,确认时间轴是否对得上,对不上请用Aegisub平移下(大多数动画只用平移,少数动画需要分段平移)
第二步 使用WisMencoder的AVS编辑功能编写AVS脚本
1.打开WisMencoder,不要把文件直接往里拖,而是点左上角的 压缩任务,添加文件...或者快捷键ctrl+a
2.选择"用WinAVS添加文件(高级用户)"
3.在弹出来的窗口中,选中待压缩的视频(记住用按住ctrl或者shift复选,或者ctrl+a全选!
4.然后,你就能看到AVS脚本的自动生成界面了,不推荐做任何的改动,除非你知道你在干什么,请直接跳转到"添加代码"页
在# Add your own code here:后面输入
LoadPlugin("D:\Program Files (x86)\Pure Codec\Codecs\VSFilter.dll")
ConvertToYV12()
LanczosResize(480,360)
然后点"插入到特效列表"
LoadPlugin就是加载滤镜,后面的括号内的内容需要改一下,指向你的VobSub安装路径里面的VSFilter.dll
我安装了PureCodec,直接用的那里面的VSFilter.dll
第二行是色彩空间转换
第三行,你想压多大就写多大吧,480是高,360是宽,等会还得在WisMencoder里面设一次
5.点击位于窗口下部的字体加黑了的一个按钮"添加到WisMencoder"
6.然后到WisMencoder安装路径下的AVSFile文件夹(例如D:\Program Files (x86)\WisMencoder\AVSFile)下面,你会看到那里有很多avs文件
你可以用记事本打开它,例如
# Created by WisAVS v1.7.0_beta (in WisMencoder v2.3.0) - 2010/12/5 7:56:09
# Visit http://bbs.wissky.com for more info.
# Z:\_Watching\Futakoi 1&2_双恋1&2.[Xvid 640x480_AC3].[Raw].[DVDRip].[05]\[Raws-4U] Futakoi (DVD DivX6.6 640x480)\[Raws-4U] Futakoi - 01 (DVD 640x480 DivX MP3).avi
DirectShowSource("Z:\_Watching\Futakoi 1&2_双恋1&2.[Xvid 640x480_AC3].[Raw].[DVDRip].[05]\[Raws-4U] Futakoi (DVD DivX6.6 640x480)\[Raws-4U] Futakoi - 01 (DVD 640x480 DivX MP3).avi",convertfps=true)
LoadPlugin("D:\Program Files (x86)\Pure Codec\Codecs\VSFilter.dll")
ConvertToYV12()
LanczosResize(480,360)
可以看到,里面其实就是你刚才添加的代码,和需要转码的文件路径&文件名
刚才在添加代码的时候,只挂了加载字幕用滤镜,并没有指定具体的字幕文件,而且在"字幕(Vobsub)"页的那一项"自动搜索字幕文件",根本没用.....
加载字幕的命令是TextSub("绝对路径\字幕文件名.ass"),如果刚才添加代码的时候,把这行加进去,那所有的视频都会使用这个字幕文件...肯定不行啊= =
所以,得现在向逐个avs文件添加里面文件对应字幕文件,挨个打开avs,然后往里面复制TextSub("绝对路径\字幕文件名.ass")也行,不过推荐使用avsTJ.ass.exe
那是一个由lfk在cmg1987的协助下于2010/12/4用c++开发的一个针对WisMencoder使用avs脚本批量转码时,对avs的脚本批量修改的软件...
呃....简单的说,就是自动修改avs文件,根据DirectShowSource里的绝对路径和视频文件名,追加TextSub和字幕绝对路径&字幕文件名
使用方法:
1).确保视频文件和字幕在一个文件夹,而且分别是AAA.mp4和AAA.mp4.ass的格式(切记不要AAA.mp4和AAA.ass...因为程序写成那样了....
源代码在此...http://u.115.com/file/f8160a7b3f 闲得蛋疼的同学可以自己改.....
2).把avsTJ.ass.exe复制到avs所在的文件夹
例如D:\Program Files (x86)\WisMencoder\AVSFile
3).运行,会出来个dos命令行(我还没看到MFC所以不会写带GUI的程序= =!),出现"XXXX.avs has been TIAOJIAOed"字样,就成功了
打开avs文件,可见里面多了一行TextSub(......)
N).如果3不好使,请新建一个txt,里面写上"D:\Program Files (x86)\WisMencoder\AVSFile\avsTJ.ass.exe",然后把扩展名txt改为cmd,运行他
avsTJ.ass.exe为调教ass字幕用,avsTJ.ssa.exe为调教ssa字幕用
7.这时,如果你开一个MPC或者KMP,把这个avs往里面拖,就应该能正常播放了(有字幕,窗口原始大小为你刚才LanczosResize里面输的大小
如果不能播放,有如下建议:
1).卸载格式工厂(或其他格式转换软件)... (装了好像会导致AviSynth生理周期紊乱,至少格式工厂会
2).安装PureCodec(如果之前装了格式工厂还得把PureCodec卸了重装= =...亲身经历
第三步 配置WisMencoder各项压缩参数
1.然后就是对WisMencoder视频压缩的设置了
1).基本设置\文件输出 设置输出路径 选一个你喜欢的容器,avi/mp4/psp用的pmp
2).音频设置\编码器 编码类型 推荐MP3或者AAC(MP3兼容性好,AAC效率高,先试试AAC不好使就用MP3吧= =
编码方式 推荐平均码率,或者用动态码率在音质里面试试每个等级对应大概多少码率
\音质 平均码率建议用160或者192,不高于源文件的码率就行 动态码率自己试试吧...反正便携式播放器音质也就那样了我就没试 采样率44.1kHz足矣
\高级选项 如果是日\粤双语的片,音频流选取那里得自己填,不是1就是2..(视频是0...多分
3).视频设置\编码器 编码类型 你的设备支持啥就用啥,X264是效率最高的,不过我那手机不支持
编码方式 我还是推荐固定码率,动态码率试起来好麻烦= =...
反正是给自己看,压坏了也没事...不过动作激烈或者3次元的片最好还是用动态的
\画面 画面大小 根据视频的横纵比和你设备的分辨率,自己算吧,比如这片是640x480,我手机是640x360,那画面大小那里宽就是480(=640/480*360),宽就是360
码率 一般设得比源文件的码率小,查看源文件码率多少请用MediaInfo
PureCodec自带MediaInfo,且已经嵌入MPC,KMP好像也有)
如果源文件是640x480分辨率,码率是1000,压到480x360的话,大概设1000*640/480的码率就差不多了
帧数 留空表示和源文件一样,你要设为比源文件小的也行,设大了没意义
4).其他请按自己需要设置
N.)截取与分段 试验性压缩最好选上这个,压缩一分钟的片段看看码率什么的
2.点右上方的"开始压缩"
3.祈祷不要报错= =!
谢谢观赏.....XD |
|