mencoder -ofps 15 -vf-add scale=176:144 -vf-add expand=176:144:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=500:max_bframes=0:quant_type=h263:me_quality=0 -oac lavc -lavcopts acodec=mp2:abitrate=96 "input.avi" -o "output.avi"
参数详解:
1、-ofps 15 :帧速率15fps
2、scale=176:144 :图像原始比例,如4:3/16:9
3、expand=176:144:转换后的分辨率
4、-srate 44100 :声音采样率44100Hz
5、-ovc xvid :视频编码格式XVID
6、-xvidencopts bitrate=500:视频编码率500Kbps
7、max_bframes=0:禁用BFrame
8、quant_type=h263:XVID编码的量化方式(建议改为mpeg)
9、me_quality=0:VHQ模式参数,动态搜索精度(6为精度最大值)
10、-lavcopts acodec=mp2:音频编码为MP2
11、abitrate=96 :音频编码率96Kbps
这样对于一个15fps视频最佳参数为:
max_key_interval=150:max_bframes=0:profile=sp3:trellis:chroma_me:chroma_opt:hq_ac:quant_type=h263:me_quality=6:vhq=4
Xvid编码高级参数:
压缩过程中的视频码率建议不要超过192Kbps(因为对于加入了手动参数的Xvid编码器,画质提升是相当明显的),强烈建议用2-Pass压缩!
首先介绍一下这些高级参数的作用:
cartoon:卡通模式,非卡通则去掉此参数
vhq=4:VHQ MODE(动态搜索算法),有0-4五个值,越大画质越好,但是编码速度越慢
me_quality=6: 动态搜索精度(6为精度最大值)
chroma_me:动态检索 ,色彩动态评估
max_bframes=0 :B帧最大间距,设为0表示关闭B帧功能
profile=XXX :小于等于15fps设置为sp3,大于15fps设置为asp3
max_key_interval=XXX :最大I帧(关键帧)间隔,一般设置成帧数的10倍
Quant_type=mpeg:量化矩阵,Mpeg模式,如果压缩时去掉这段就默认量化矩阵为H.263
trellis:高质量量化模式
GMC:全域动态补偿
qpel:四分之一像素精确动态补偿(如果使用了该功能则可能降低解码速率,建议不用)
bvhq=1:在B帧上启用VHQ
lumi_mask:加大画面明暗部分压缩率(一般不用,有时会导致画面失真)
greyscale:使用灰度,但是便出来的画面是黑白的(一般不使用)
interlacing:隔行处理,适用于交错片源(一般不使用)
chroma_opt:色度优化 ,色彩最佳化
Quantization量化选项(关键的关键就在这里!)
量化器级别(quantizer level)即Q值越高画面细节越丰富,但是在低码率下越高的量化器级别,会带来越低的画面质量,Q 值越小,质量越好,码率越大;Q 值越大,质量越差,码率越小。(实际上,它的原始概念更复杂,我们干脆简单地认为1就是100%原质量,31就是1/31的原质量好了)。P-frame(即未来单项预测帧)建议设置在1--15之间,(它的作用是只储存与之前一个已解压画面的差值。即仅仅描述它与前一帧的区别)。I-frame(即关键帧)的Q值只用能作用于2pass-second压制上,在VirtualDub被标示为 [K],关键帧是构成一个帧组(GOP,Group of Picture)的第一个帧。I-Frame 保留了一个场景的所有信息(Keyframe原意是指可以单独解码、用于同步的frame,不过在MPEG系统中只有I-frame有这个特性,因为BF和PF都是预测帧,要靠I-Frame来还原)。B-frame(即双向预测帧)除了参考之前解压过了的画面外,亦会参考后面一帧中的画面信息。这三个设置的范围都是1-31,应该注意的是在场景昏暗的条件下不要让B-frame过低。
min_iquant=1——IF的量化最低值(取值范围在1-31之间)
max_iquant=10——IF的量化最高值(取值范围在1-31之间)
min_pquant=1——PF的量化最低值(取值范围在1-31之间)
max_pquant=10——PF的量化最高值(取值范围在1-31之间)
min_bquant=1——BF的量化最低值(取值范围在1-31之间)
max_bquant=30——BF的量化最低值(取值范围在1-31之间)
-sws 9 取值范围在(0-9)之间,不同值代表不同的Resize算法!建议用 -sws 9
0 快速二次线性(默认)(速度较快)
1 二次线性
2 二次立方(质量很好)
3 实验中
4 最短距离 (bad quality)
5 区域
6 亮度二次立方 度二次线性
7 高斯
8 sincR
9 lanczos(速度较快,而且画面锐利)
10 双三次样条曲线
实际应用举例:
vhq=4:cartoon:chroma_me:min_iquant=1:chroma_opt:min_iquant=1:max_iquant=12:min_pquant=1:max_pquant=12:bvhq=1:min_bquant=1
添加到WisMencoder的手动参数中的视频编码处,然后再把 -sws 9 参数添加到视频滤镜处即可!记得-sws 9前一定加个空格,要不编码器不会启动!当然你也可以自己摸索适合的方案,做出效果更佳的方案!