Mencoder常用視頻轉換參數

Mencoder常用視頻轉換參數
2008年4月11日發表評論閱讀評論
參數詳解:
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文件加入時間標籤。
本文地址:http://www.etang.info/web-develop/mencoder%e5%b8%b8%e7%94%a8%e8%a7%86%e9%a2%91%e8%bd%ac
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章