`
hz_chenwenbiao
  • 浏览: 994703 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Mencoder常用视频转换参数(转)

阅读更多
参数详解: 1、-ofps 15 :帧速率15fps 2、scale=176:144 :图像原始比例,如4:3/16:9,-3表示适应宽度,-1表示默认值 3、expand=176:144:转换后的分辨率,0:0:1表示视频x,y位置 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前一定加个空格,要不编码器不会启动!当然你也可以自己摸索适合的方案,做出效果更佳的方案! Mencoder视频转换成flv格式 mencoder “input.avi” -o “output.flv” -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -ofps 29.97 -srate 22050 参数详解: -o “output.flv”:是输出文件路径; -of lavf:是输出文件格式,这里不是flv而是lavf,是因为flv属于libavformat; -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames:-lavfopts表示对lavf进行一些设置,设置的内容就是i_certify_that_my_video_stream_does_not_use_b_frames,翻译成中文就是:我确定,我的视频不用B frames,对于转换flv格式,最好加上这个参数,否则可能会报错。 -oac mp3lame:oac=output audio codec,输出音频编码器,这里用的mp3lame; -lameopts abr:br=56:lame options,是专门针对mp3lame的参数设置,abr:br=56,是设置音频比特率为56; -ovc lavc:ovc=output video codec,输出视频编码器,lavc表示one of libavcodec’s video codec,输出格式为libavformat之一; -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:v4mv:trell:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1:对lavc进行一些设置,详细介绍如下: vcodec=flv:指定视频编码器为flv; vbitrate=500:指定视频比特率为500。 mbd:宏模块选择算法,值为0~2默认为0,值越大转换越缓慢,但在品质和文件大小方面有好处; mv0:编译每个宏模块并选择最好的一个,当mbd=0时无效; v4mv:会稍微增加品质,mbd>0时效果更明显; trell:量子化网格搜索,对每8×8block找到最优化编码; cbp:只能和trell一期使用,评估失真的图像块编码; last_pred=3:与上一帧相比的移动数量预测,值为0~99,1~3比较合适,大于3时对品质的提高已经无关紧要,但却会降低速度; dia=4:移动搜索范围,值为-99~6,对于快速转换,-1是个不错的值,如果不是很重视速度,可以考虑2~4; cmp=6:值为1~2000,默认为0,设置用于全象素移动预算的比较函数 vb_strategy=1:对动作很大的场景会有帮助,对有些视频,设置vmax_b_frames会有损品质,加上vb_strategy=1会好点。 注意:有些来路不明的FLV文件,或是由FFMPEG、Mencoder转的FLV文件,Meta Data是损坏的,FLV播放时不能拖放。 两个修复工具:Flvtool2,Flvmdi,给flv文件加入时间标签。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics