论坛风格切换切换到宽版
  • 13621阅读
  • 47回复

HL视频压制与优化 进阶教程(更新中……) [复制链接]

上一主题 下一主题
在线HappyLee
 

发帖
2654
金钱
96964
威望
2463
贡献值
1113
交易币
3752
只看楼主 倒序阅读 楼主  发表于: 2014-02-06
— 本帖被 xzwpp 执行加亮操作(2014-08-03) —
大家好,策划已久的压制教程终于开始动笔了。本教程不属于按部就班式的傻瓜教程,而是站在比较高的技术层面的,如有任何技术上的错误恳请指正。由于本人也不断在学习中,所用方法也会不断完善,可以肯定的是,本教程也会随之陆续更新。 (6c/)MH  
rFcz 0  
先啰嗦几句,说一下压制MJ资源的意义。众所周知,目前MJ的资源以mpg、vob、DVD格式的为主,主要由于是VHS带转换到电脑后的格式多为mpg,且官方发行的基本都是DVD。这类视频均为MPEG-2(有的还是MPEG-1)编码,最大的缺点是在相同品质下码率较高,或是在相同体积下品质较差,简而言之就是性价比太低,不与时俱进。目前最先进,性价比最高的主流视频编码是H.264,又名AVC,是MPEG-4成员之一,主流封装格式为mp4和mkv,性价比比起一般的mpg、avi、wmv等格式那是强太多了。假如MJ的资源主要以这种格式储存和传播,那硬盘空间大概能节省75%左右,不至于存几场低品质演唱会就迅速爆满。 / 8O=3  
N/>:})dav  
并且,往往歌迷自己转换出的mpg片源存在各种瑕疵,例如block(马赛克块)、aliasing(锯齿)、halo(光圈)、noise(杂点、杂波)、grain(VHS带常有的背景雪花)、rainbow(彩虹)等,还有各种破损帧,用AviSynth基本都可以修复,如果处理得当只会使片源看上去更好。优化后的压制可不仅仅是提升性价比的压缩了,如果压缩时x264品质设得比较高那可以称为真正意义上的优化。既能使画质看上去更好,又能将视频体积缩小一大半,方便电脑和移动设备上观看,何乐而不为呢? ^vm6JWwN0B  
u ^#UsOt+  
必须提前警告一下,压制是高技术含量,费脑力更费CPU的活,需要有足够的智慧、毅力和奉献精神才能完成,只想用傻瓜视频转换法的话那可以下格式工厂…… RKrNmD*rk*  
z}}P+P/  
让我们开始吧。首先,需要如下工具,抱歉此处不附链接,请到Google搜索并下载英文最新版,不要在国内网站下汉化版、精简版之类的(或许VirtualDub可以除外): X<_HQ  
·MeGUI,各种编码工具的套装,它最大的用处是能自动帮我们更新各种工具(尤其是x264),懒得改命令行的话也可以用它直接压制; "Plo[E  
·AviSynth(建议下2.6.x最新版本),拓展性无比强大的视频处理工具,相比会声会影、AE一类的处理工具最大的优势在于精准,avs脚本可以直接在VirtualDub、某些视频播放器中打开,也可以直接送进x264压缩; kE6/d,  
·VirtualDub,简单易用、功能齐全的视频编辑器,处理avi文件最佳,主要用于调试avs脚本; x?A<X2  
·MKVToolnix,其中主要会用到mkvmerge GUI这一工具做mkv封装,偶尔也会用mkvextract GUI做轨道提取用; ]}Ys4(}  
·MediaInfo(选用),方便查看各类视频的编码、码率、帧率等各种参数,不过好多视频播放和编辑软件也能查看; S;t`C~l\  
·Notepad++(选用),用它编写avs脚本或许比记事本更舒服些; GwXhn2  
·若干滤镜,必备的有QTGMC(及其附属一堆滤镜)、SmoothAdjust、dither、LSFmod、aWarpSharp、ChromaShift等…… {d#sZT  
EF$ASNh"  
我给大家的建议是,不要用傻瓜式的压制方法,不要用自动的avs生成器,要灵活处理每一个视频,做每一个操作的时候一定要清楚自己在做什么。我压制一个MPEG-2编码视频的一般步骤是:先用DGIndex保存d2v,再写avs脚本导入d2v并加一堆滤镜,用VirtualDub仔细调试,确定无误后调整bat脚本参数,送进x264压缩,把音频用MeGUI压缩成ogg格式,然后用mkvmerge封装成成品mkv。其中最关键的一步便是写avs脚本,下面我来一步步讲解。 H;<>uE Lie  
s5G`?/  
MPEG-2视频在AviSynth中最好借助DGDecode打开,事先要给mpg、vob、DVD格式的视频导出一个d2v索引文件,这个过程也会顺便提取音频轨。 V=fh;p  
-Op^3WWyY  
我们要用的很多工具都在MeGUI的tools文件夹中附带,打开\tools\dgindex,为其中DGIndex.exe创建一个快捷方式,以后会经常使用这个工具。运行DGIndex,点菜单File→Open(或快捷键F2),打开mpg或vob文件,如果是多段vob的话就把它们都选上(注意不要将DVD菜单之类的都添加进来),DGIndex会自动按照文件名排序。打开后,拉动下方进度条可以浏览视频的全貌,和播放器中的画面不太一样,这是片源的原貌,没有经过反交错和尺寸调整,所以画面会经常有细横条纹,且比例一般会失调,不过都不要紧。如果只是要截取其中的一部分的话,按右下角的“[”和“]”选定头和尾,如果完整都要压制的话那就不必了,直接点菜单File→Save Project(或快捷键F4)生成d2v文件。至于生成的d2v文件是否应和片源放在同一文件夹要看个人习惯,同时提取的音频轨(多为ac3、mp2文件)会和d2v文件出现在同一文件夹,而片源所在的文件夹会出现一log文件,log文件中会包含此片源的分辨率、帧率、显示宽高比、是否交错等信息,用MediaInfo同样可以查看到,这些信息要记住,log文件可删。 NCT:!&  
:_xfi9L~W0  
下面进入最关键的步骤,写avs脚本。最好在和d2v同一文件夹新建一个txt文本文档,修改后缀名为avs,也可以复制某个自己写过的avs模板并稍加修改,然后用记事本或Notepad++打开它。 b{aB^a:f=L  
F_-xp1|  
一般来说一个avs脚本的框架为,加载滤镜→加载片源→滤镜、滤镜、滤镜……下面贴上我自己目前比较喜欢用的avs脚本模板,经我长期总结而成,各位可以稍作修改纳为己用: \6MM7x(U3  
PW5)") z  
LoadPlugin("X:\MeGUI路径\tools\dgindex\DGDecode.dll") G9Kck|50  
LoadPlugin("X:\MeGUI路径\tools\avisynth_plugin\Decomb.dll") sCt)Yp+8}B  
LoadPlugin("X:\MeGUI路径\tools\avisynth_plugin\ColorMatrix.dll") -n[(0n3c  
LoadPlugin("X:\MeGUI路径\tools\avisynth_plugin\TomsMoComp.dll") iSoQ1#MP)2  
LoadPlugin("X:\MeGUI路径\tools\avisynth_plugin\NicAudio.dll") &wY$G! P  
LoadPlugin("X:\XXXX\SmoothAdjust.dll") #O;JV}y  
LoadPlugin("X:\XXXX\aWarpSharp.dll") ;>5`Y8s6  
LoadPlugin("X:\XXXX\ChromaShift.dll") ihwJBN>(  
Import("X:\XXXX\Dither.avsi") g;p} -=  
Import("X:\XXXX\LSFmod.v1.9.avsi") >O24#!9XW  
Function MVDN(clip c, int nn) { mrnPZf i  
c r)}U 'iv*%  
super = MSuper(pel=2, sharp=1) r <5}& B`  
bv2 = MAnalyse(super, isb = true, delta = 2, overlap=4) 1] ~w?)..'  
bv1 = MAnalyse(super, isb = true, delta = 1, overlap=4) S$Zi{bU`G  
fv1 = MAnalyse(super, isb = false, delta = 1, overlap=4) }H\I[5*  
fv2 = MAnalyse(super, isb = false, delta = 2, overlap=4) ^r&)@R$V  
MDegrain2(super, bv1,fv1,bv2,fv2,thSAD=nn) C{zp8 A(Dh  
} BtC*]WB"_'  
~pQN#C)CO>  
DGDecode_mpeg2source("XXXX.d2v",info=3,cpu=4) aaFT   
ColorMatrix(hints=true,interlaced=true,threads=0) VX$WL"A  
#TomsMoComp(-1,0,1) ",$_\l  
#QTGMC(Preset="Very Slow",SourceMatch=3,Lossless=2,Sharpness=0.4,FPSDivisor=2) cgMF?;V  
#MVDN(400) i3,IEN  
#Lanczos4Resize() __g k:a>oQ  
#ColorYUV(analyze=true) $8=|<vt  
#SmoothLevels(16,1,235,16,235) Y_JQPup  
#SmoothTweak(saturation=1.2) XM rk2]_  
#LSFmod(50) y7,I10:D  
GradFun3(smode=2) m4mE7Wn.3  
r)*23&Ojs  
无论是加载滤镜还是使用滤镜,都是avs脚本的关键。MeGUI的tools文件夹中附带了一些关键的滤镜,常用的滤镜(尤其是QTGMC和它必备的那堆滤镜)建议放在AviSynth安装目录的plugins文件夹里,这样每次打开脚本时就会自动加载,不必写LoadPlugin()了。当然,除了QTGMC的那堆滤镜,其余不常用的滤镜建议放在另外某个专门存放滤镜的文件夹中,需要用的时候就在上方加上一行LoadPlugin()调用,否则每次自动加载需要时间,滤镜过多也有可能互相打架。 "v8p<JfB`  
jRJG .hcB5  
avs脚本的语法比较易懂,每加一个滤镜可以另起一行,滤镜名称后面的括号便是参数,每个滤镜的详细参数可Google查找相关帮助,不建议总用其默认参数。也可以把所有滤镜都写在一行,中间用英文句号隔开,格式如:TomsMoComp(-1,0,1).MVDN(400).LSFmod(50)。 \}Jznzx;  
uJw?5kEbv<  
可以为素材命名,例如下面的例子: 2S?7j[@%i`  
V1=DGDecode_mpeg2source("XXXX.d2v",info=3).ColorMatrix(hints=true,interlaced=true,threads=0).TomsMoComp(-1,0,1).Lanczos4Resize(640,480) Z`Y&cKsn  
V2=DGDecode_mpeg2source("YYYY.d2v",info=3).ColorMatrix(hints=true,interlaced=true,threads=0).Lanczos4Resize(640,480).GradFun3(smode=2) ;TAj;Tf]H  
V1.Trim(0,9999)+V2 Cj-s  
s L^+$Mq6  
但容易犯如下错误: {L-^J`> G  
V1=DGDecode_mpeg2source("XXXX.d2v",info=3).ColorMatrix(hints=true,interlaced=true,threads=0) nu0pzq\6  
TomsMoComp(-1,0,1) )w7vE\n3  
Lanczos4Resize(640,480) PLCm\Oh$l  
Hjm> I'9  
错误原因在于第一行返回值是一个名称而不是视频,修改方法如下:  6}"%>9  
V1=DGDecode_mpeg2source("XXXX.d2v",info=3).ColorMatrix(hints=true,interlaced=true,threads=0) JipNI8\r  
V1 I9X \@ lTf  
TomsMoComp(-1,0,1) x3+ -wv  
Lanczos4Resize(640,480) 7:4c\C0  
{ DYY9MG8  
VVJ0?G (?  
可以看到下方很多滤镜前都加了一个#号,加了#之后,#后面的文字就全变成注释了,也就是说如果你想暂时让某行不执行,不必删除它,在该行前面加个#号即可。由于不同片源情况会有所不同,建议一开始先像我给的模板那样,把关键的滤镜都#化,看看片源的原始样貌,然后再慢慢去掉每行的#号仔细调试。 T`# nn|  
Ao K9=F}  
DGDecode_mpeg2source("XXXX.d2v",info=3,cpu=4):这一行的作用是加载d2v索引以及原始片源,确保路径无误即可,注意后面的cpu=4,它是DGDecode内部的处理滤镜,会消除画面中的block、杂点等mpg压缩遗留故障,绝大多数情况下都会使加载结果变得更好。一般碰到马赛克块极为严重的片源可以改为cpu=6,碰到几乎没有任何问题的片源就可以把它去掉了(默认为0)。 <B6md i'R  
x6cG'3&T  
ColorMatrix(hints=true,interlaced=true,threads=0):色彩校正滤镜,看不出太大影响不过还是建议每次都加,如遇非交错片源最好把interlaced设为false,不过影响也不大。 Oo|JIr7i  
f ,e]jw@  
下面介绍反交错(deinterlace)滤镜。因为MPEG-2片源多为隔行扫描,导入到AviSynth中如果不做去场处理的话变会出现细横条纹的状况(尤其是运动区域)。少许片源无需反交错,也有少许23.976转29.970帧率的片源最好用较为特殊的方式反交错(这个教程中就不提了,建议初学者按常规方法处理)。反交错滤镜种类繁杂,我比较喜欢用的两个是TomsMoComp和QTGMC,TomsMoComp使用动作补偿法反交错,非常快且画面不会存在问题,但一定有损画质,三个参数中第一个参数决定高场或低场优先,如果设为-1则让AviSynth自行判断,后两个不用改。 B- @bU@H  
F_079~bJ  
QTGMC是高品质的反交错滤镜,其组成及原理极为复杂,所需附属滤镜一大堆,Google搜索后在Doom论坛可以找到所需滤镜包,仔细按照其中的说明把滤镜和QTGMC脚本统统复制到AviSynth目录的plugins文件夹,别忘了还有系统dll和Masktools滤镜(需按AviSynth版本选择性复制)。滤镜包中的MVtools2和Masktools在avs脚本中也是经常会用到的。 ip?]&5s  
N8 2 6xvA  
QTGMC的主要缺点就是慢,即便把Preset参数调成“Fast”也会非常慢,导致在VirtualDub中几乎无法实时播放。所以在调试阶段,建议把Preset调成“Fast”(压制前别忘了再改回“Very Slow”),或是用上面的TomsMoComp(-1,0,1)暂时代替一下,至少不要笨到在压制前把两行的#号都去掉,TomsMoComp和QTGMC只能选择一个用。Sharpness即锐化程度,如果不加SourceMatch参数的话默认是1,QTGMC的锐化自然会使细节变得更清晰,不过同时各种杂点也会变得更清晰,同时halo也会增加,所以不建议把此参数开到1以上。在降噪、调整尺寸后再锐化更为合适。FPSDivisor=2的作用是使帧率回归原始(让AviSynth自行判断高场或低场优先),如果不加这个参数那需要在后面加SelectOdd()或SelectEven()选择高场或低场优先,不建议用二倍帧率压制,无明显效果,会大大增加压制的体积,且CPU解码可能会很吃力。 2TGND-(j  
eg;r38   
MVDN(400):这句对应的是上面我写的MVDN函数,它调用MVtools2中的MDegrain2滤镜对画面进行时间轴降噪,推荐的取值范围在300至800,如遇及其恶劣脏乱的片源开到1000或以上也没问题。由于它非常智能且不做空间轴处理,即使把参数调到最大也几乎不会伤害有用细节,是我最喜欢用的降噪器。因为此降噪滤镜会分析当前帧的前一帧和后一帧,速度会比较慢,如果和QTGMC配合使用则会更慢,建议调试阶段一直#号注释掉,最终压制前再将#号去掉。降噪可以很大程度上提升压制后视频的性价比,让编码器不在noise或grain上浪费码率,不过也会使画面更加干净,背景更为平静。有些人喜欢看干净的画面,而有些人恰恰喜欢让画面充满电影胶片的感觉,所以一些视频处理者不仅不会对grain做去除,还反而会用滤镜(如AddGrain、GrainFactory)人工伪造一些杂点,这种做法非常浪费码率,且给观众的是欺骗性的视觉,如果在追求小体积压制时肯定不推荐。 "rMfe>;FJ  
G$,s.MSf  
Lanczos4Resize是LanczosResize的特殊版本,调整尺寸用,其用法是:Lanczos4Resize(目标宽,目标高,选取左,选取上,选取宽,选取高),其中后四个参数选填,例如某720×480的片源,如果用Lanczos4Resize(720,480,0,0,720,480)相当于什么都没改,如果用Lanczos4Resize(640,480)相当于上下左右都不切,将尺寸调整为640×480。但在我们的avs脚本中可以不用其调整尺寸,而是主要用于切去上下左右的黑边和VHS扫描线。这里有必要先强调一下aspect ratio(宽高比)的作用,常见的MPEG-2片源分辨率多为720×480或720×576,但如果用MediaInfo查看视频信息的话,在分辨率后面都会加一个(4:3),而用播放器播放时显示比例也为4:3,显示尺寸一般为640×480、720×540、768×576,其实加在括号里的aspect ratio就是告诉播放器应调整为何种比例播放。压制时万万不可忽略其作用,很多业余级压制容易犯的错误就是宽高比未校正,例如片源分辨率是720×576他就按着这个压缩了,结果出来的图像是5:4,人变瘦了一点还没察觉到。校正宽高比的方法主要有两种,一种是在avs脚本内部用Lanczos4Resize一类的缩放滤镜调整到正常比例,例如720×576可以缩小成720×540也可以扩大成768×576,另一种方法是在avs脚本中保持原始尺寸不变,然后在x264压制时调整--sar参数来校正它(后面x264压制部分还会讲),这样输出的压制文件会和片源有同样的尺寸,而播放器播放时会根据同样的原理将画面显示为4:3。因为所处理的MPEG-2片源大多数需要做去黑边处理,反正要用Lanczos4Resize,建议不如就顺便调整尺寸修正宽高比,又由于多数MJ资源的分辨率名不副实,有些虽然是720×576分辨率,看起来可能连240p都不到,所以调整尺寸时一般无需在意往小缩放,我倒是不建议往大调整,类似将普通480p片源放大成1080p并称之为“高清”的举动我认为没有任何意义。 "E+;O,N-  
qt9jZtx  
举个例子,假如我们有一个分辨率为720×480的片源(显示比例为4:3),因为其画质明显没到480p,计划在avs脚本内部就将尺寸修正到640×480。这个片源左侧有9像素黑边,右侧有15像素黑边,上无黑边,下有8像素的VHS扫描线,应如何切除并调整尺寸?先考虑切除黑边的问题,做个简单的数学计算,倘若打算完全切除左右黑边,横向便保留了720-9-15=696像素,而若要保持宽高比不变,则纵向要保留的像素应该是横向的三分之二倍,这个比应该和720:480相等,算得纵向要保留696*3/2=464像素,所以纵向要切去480-464=16像素,而纵向实际应该切除的部分只有下方8像素的VHS线,相当于多切除16-8=8有用像素,这8像素将上下平分4像素,于是语句应该是Lanczos4Resize(640,480,9,4,696,464)。 e!J5h <:  
@7}XBg[pI  
但倘若你宁可左右留少许黑边,也不打算上下多切除有用像素,那就是另一种算法了,根据下方只切8像素,算得左右总共切8*3/2=12像素,而左右总共有24像素黑边,于是平均分得左右各留6像素黑边,所以左侧将切掉9-6=3像素,于是语句应该是Lanczos4Resize(640,480,3,0,708,472)。只是数学计算而已,相信难不倒你,无论选择何种方案需尽量保证切得精准,且比例一定不要失调。 }@LIb<Y  
;40Z/#FI  
ColorYUV(analyze=true):调试用的滤镜(最终压制前一定要#掉),主要和SmoothLevels配合来用,会在图像上方加字幕似的文字,上面可以显示LumaY层、ChromaU层、ChromaV层的平均值、最小值、最大值、和降噪后的最小值、最大值。在这里需要科普一下YV12格式,它包含三个层,即一个Luma(亮度)层和两个Chroma(色度)层(U控制蓝色,V控制红色),其中Luma层在压缩时所占比率最高,主要因为人眼对色度不如亮度敏感。Luma(亮度)层从0到255表示从纯黑到纯白,而对于TV有效范围只在16到235,所以标准YV12视频的最低和最高亮度就是16和235,x264编码时默认参数也是将16以下或235以上视为16和235。显示的数值中,Luma层的Loose Minimum和Loose Maximum尤为重要,如果其值经常等于16和235则说明这个视频的对比度正好或是过大,如果绝大多数时间都没有接近16或235则说明对比度过小,需要多查看一些场景,记下来最经常出现的Loose Minimum最低值和Loose Maximum最高值,并判断应该将哪两个值视为纯黑和纯白,并作为SmoothLevels的输入低和输入高。 9]N{8  
4U\>TFO  
SmoothLevels(16,1,235,16,235):至关重要的调整Luma层色阶的滤镜,虽然AviSynth也自带Levels滤镜,但远没有SmoothLevels好用。做色阶调整的目的就是为在16至235范围内将色彩分配得最合理,并尽量不要让有用的像素亮度低于16或高于235,通俗点理解就是视频中该黑的地方要设为黑,该白的地方该设为白,不要让黑白超出16-235范围否则看上去就像对比度调过头了。MJ的资源在我看来绝大多数都存在一定程度的色阶问题,其中多数对比度不够大,还有少数对比度被人为调爆(例如官方发布的温布利DVD),后者就不太容易修复了,只能用调节Gamma曲线的方式使色阶更靠近中间。5个数值中,第一个和第三个数值分别为输入低和输入高,根据ColorYUV分析的结果进行选择,一般调得次数多便有经验了,调节后输入低变会变为纯黑,输入高会变为纯白。第二个值是Gamma值,默认为1,表示调节是直线调节,对于一般视频来说1最为合适,但如果碰到黑色部分差异极其弱,白色部分差异极其强,在调节色阶的时候最好把Gamma设为大于1的小数使之趋向平衡,反之可以设为0-1之间的小数,将白色部分差异放大,黑色部分差异缩小。后两个值(输出范围)一般情况下保持16和235无需改动。 SN)Czi#7  
.@x.    
我认为调整色阶需要本着一个原则,宁可不到达16和235也不要调得太过,对比度被调得过大是新手做视频优化时容易犯的错误(官方优化温布利VHS带时就犯了这个错误),因为往往对比度被调大后,画面层次感会增强,但一旦调过头,某些暗处和亮处便会丢失细节。所以调节完记得看看最明亮的镜头和最黑暗的镜头有没有细节损失,Loose Minimum和Loose Maximum两个值还是可靠的,保持调节后的这两个值在绝大多数帧都不越界就行。 n7i~^nf>  
?1g`'q@T%  
LSFmod(50):锐化用滤镜,LimitedSharpen的升级版,在所有锐化滤镜中算是很好用且遗留故障较小的。50是力度参数,默认是100,一般视频加适度锐化总能看上去清晰些,但建议不要对片源过度锐化,因为过强的锐化也是有损细节的。 =P,mix|  
BO}IN#  
GradFun3(smode=2):防止色彩凝结,用默认参数的话效果十分微弱,但速度很快似乎也不影响什么,建议保留原样放在每个avs脚本的末尾。 }^H(EHE  
|H=5Am  
今天有点累了,明天继续写,本帖还会更新一些截图,请各位关注。
7条评分贡献值+5金钱+70威望+14
受伤的小伙 威望 +2 能否把需要压制的软件给列个list.... 2016-07-09
受伤的小伙 金钱 +10 能否把需要压制的软件给列个list.... 2016-07-09
MJ之王 贡献值 +5 高手中的高手!!! 2014-02-08
MJ之王 威望 +10 高手中的高手!!! 2014-02-08
MJ之王 金钱 +50 高手中的高手!!! 2014-02-08
ppz2001 威望 +2 技术帝威武! 2014-02-06
ppz2001 金钱 +10 技术帝威武! 2014-02-06

发帖
2894
金钱
58988
威望
727
贡献值
479
交易币
3807
只看该作者 1楼 发表于: 2014-02-06
离线ppz2001

发帖
1416
金钱
15556
威望
1248
贡献值
444
交易币
1646
只看该作者 2楼 发表于: 2014-02-06
技术帝威武!

发帖
1182
金钱
32157
威望
697
贡献值
257
交易币
957
只看该作者 3楼 发表于: 2014-02-06
好长,,,。
离线Eclipse

发帖
1136
金钱
2263
威望
543
贡献值
271
交易币
1657
只看该作者 4楼 发表于: 2014-02-06
看晕了。。。。。

发帖
852
金钱
5154
威望
172
贡献值
42
交易币
1026
只看该作者 5楼 发表于: 2014-02-06
菜鸟一枚。。

发帖
852
金钱
5154
威望
172
贡献值
42
交易币
1026
只看该作者 6楼 发表于: 2014-02-06
回 迈k无终点 的帖子
迈k无终点:菜鸟一枚。。 (2014-02-06 10:24)  &A QqI  
LL^KZ-  
我是说我看不懂   不是说楼主
离线musickingdom

发帖
831
金钱
516
威望
109
贡献值
56
交易币
1030
只看该作者 7楼 发表于: 2014-02-06
顶HL。终于看到HL的大文了,一定要学会😊
正在建设的土豆小站萌萌哒~http://www.tudou.com/home/_68623032/
离线michael0829

发帖
946
金钱
8957
威望
90
贡献值
70
交易币
1195
只看该作者 8楼 发表于: 2014-02-06
顶,楼主辛苦了。本人头晕又头痛,这几天太累了。所以没看完了。
I Love You Michael Jackson Forever!
I Just Can't Stop Loving You Michel!
离线恶魔心

发帖
3360
金钱
30867
威望
1734
贡献值
1129
交易币
3938
只看该作者 9楼 发表于: 2014-02-06
技术活~!
天降枭雄万恶身 地塌山摇起风云 盟结群魔掠八方 主宰苍生令沉浮
MJFOREVERLAND--淘宝小店
威恶扬名万骨悲 震碎乾坤祸劫临 江山万代同色变 湖海任我笑中行
快速回复
限100 字节
 
上一个 下一个