DHR-動畫研究字幕組

標題: 弄了一个一键式傻瓜压制avs,压制可以试试看好不好用 [打印本頁]

作者: sil_yuzhe    時間: 2011-12-13 02:02
標題: 弄了一个一键式傻瓜压制avs,压制可以试试看好不好用
先放脚本请讲脚本复制粘贴到记事本当中,保存为dhr264.avs
然后在megui的tools文件夹里找到ffms2.dll 和vsfilter.dll 复制到这个脚本所在目录下

LoadPlugin("ffms2.dll")
LoadPlugin("vsfilter.dll")
global MeGUI_darx = 16
global MeGUI_dary = 9
function dhr264(string "source",string "text",int "_if480",int "x",int "y",bool "audio")
{
_if480 = Default(_if480,0)

#If type 0 -> 848x*480

#If type 1 -> 1280*720

#If type 2 -> 720*480(PSP)

#other -> x*y
x = Default(x,640)
y = Default(y,360)

#If _if480<>0,1,2 and didn't type in "x" and "y" -> 640*360

#If _if480<>0,1,2 -> x*y
x = (_if480==0) ? 848 : (_if480==1) ? 1280 : (_if480==2) ? 720 : x
y = (_if480==0) ? 480 : (_if480==1) ? 720 : (_if480==2) ? 480 : y
V=FFVideoSource(source, threads=1).AssumeFPS(24000,1001).LanczosResize(x,y).TextSub(text)

#Please select a MP4 or MKV(x264) video
audio = Default(audio,true)
V= (audio == true) ? AudioDub(V,FFAudioSource(source, 1)) :  V
return V
}
#Sample
#dhr264("c:\1.mp4","c:\1.ass",3,704,396,audio=false)




需要压制的时候请将此行
#dhr264("c:\1.mp4","c:\1.ass",3,704,396,audio=false)
的“#”删除,修改括号里的内容即可。
参数用法如下
dhr264("c:\1.mp4","c:\1.ass",3,704,396,audio=false)

"c:\1.mp4"就是视频源的绝对路径,要求是MP4或x264编码的MKV,ts就算能读还得用一堆滤镜这里也没有;
"c:\1.ass"就是字幕的绝对路径,没什么好说的;
3 这个就是转换分辨率的预设参数——0(默认,即不输入)=848x480,1=1280x720,2=720x480(即PSP分辨率),3或其他=手动;
704,396 这两个就是分辨率的横向宽度和纵向高度,默认是640,360,尽量输入常见分辨率,且无论如何用megui压制都会将显示宽高比设置为16:9;
audio=false这个就是是否在脚本中体现音频,默认是true即有音频,当遇到MKV内封非aac音频时应将此项调为false以防止音频出错。


有几个地方不可变,有需求再说:
只支持x264视频,片源有其他编码的还真少,MP4都是264就对了,这也是我把名字改成"dhr264"的原因;
fps=24000/1001即23.976,碰上可变码率也不是设置个fps能搞定的;
显示宽高比为16:9,这年头里番也是16:9的,4:3太少见;
resize均用的LanczosResize(),真爱生命,远离upscale;
字幕用的textsub没用mod,据某湿绪说mod爱出错,另外组里面除了我以外没人喜欢用mod里的特效吧。

兼容性:
MP4只要不是可变码率的都没问题吧……(死
真爱生命,远离棒子源
MKV的音频是aac就行,要是MP3什么的自己找工具提出来音轨,我可不想写一大堆逻辑

说了一大堆,就按照最常用的用MP4片源压制480P来说,只需写成这样既可:
dhr264("c:\1.mp4","c:\1.ass")

压720:

dhr264("c:\1.mp4","c:\1.ass",1)

压PSP480:

dhr264("c:\1.mp4","c:\1.ass",3)

压704x396分辨率

dhr264("c:\1.mp4","c:\1.ass",4,704,396)


修改好了avs之后直接扔进megui该怎么设置参数怎么设置参数就行了。


给一个我压480时的参数:

program --profile main --level 3 --preset placebo --crf 22.0 --keyint 500 --min-keyint 25 --b-pyramid none --ref 3 --vbv-bufsize 10000 --vbv-maxrate 10000 --output "output" "input"

就是在PSP预设基础上将encoding mode设置为const. Quality =22~22.5之间;preset>medium;max GOP>=250


[ 本帖最後由 sil_yuzhe 於 2011-12-13 02:03 編輯 ]
作者: Phaex    時間: 2011-12-13 10:54
真爱生命,远离棒子源

完全同意
上次那個純白棒子原搞死人:L
作者: mrwu1990    時間: 2011-12-13 16:14
用了許多變量呢:)
作者: admin    時間: 2011-12-13 18:08
真爱生命,远离棒子源....




歡迎光臨 DHR-動畫研究字幕組 (https://dhr.moe/) Powered by Discuz! X3.1