[轉]Xvid參數詳解


?
眾所周知,Mencoder以其極高的壓縮速率和不錯的畫質贏得了很多朋友的認同!

原來用Mencoder壓縮Xvid的AVI都是使用Xvid編碼器的默認設置,現在我來給大家沖沖電,講解一下怎樣使用Mencoder命令行高級參數制作Xvid編碼格式AVI影片。經過測試,可以毫不夸張的說:在減小50%的文件體積同時能夠保持原有畫質!

大家平時用WisMencoder壓縮電影的時候也許會感覺到雖然它速度飛快,但是關于Xvid編碼器的設置卻少得可憐!并沒有完全發揮出Xvid編碼的優勢!

這里僅僅講解WisMncoder的手動參數,其他設置還需大家自己完成。壓縮過程中的視頻碼率建議不要超過192Kbps(因為對于加入了手動參數的Xvid編碼器,畫質提升是相當明顯的),強烈建議用2-Pass壓縮!

首先介紹一下這些高級參數的作用:

cartoon——卡通模式
vhq=4——VHQ MODE,有0-4五個值,越大畫質越好,但是編碼速度越慢
chroma_me——動態檢索
max_key_interval——最大關鍵幀距離
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前一定加個空格,要不編碼器不會啟動!

當然你也可以自己摸索適合的方案,做出效果更佳的方案!

Xvid大概介紹:(個人認為XVID編碼比DIVX編碼的畫質更好,故只講XVID的參數。了解以下內容對轉換影片有一定幫助,尤其是要放在硬盤上用PC觀看的視頻,當然對轉換成手機觀看的影片也是有好處的,使你不至于盲目的轉換)
???????????????????????????? (此文是參照電腦雜志上的介紹而寫,在此感謝寫出那篇文章的作者。所涉及到的圖片是自己抓的,文字也是一個一個字打出來的,并非從網上轉抄,我無非是想讓有興趣于此道的朋友更多的了解xvid這個編碼器)
如果在網頁上看不太清楚的圖片,請下載到個人電腦上查看
xvid有兩種編碼方式:single pass和twopass
single pass模式編碼簡單,速度也快,但最終效果不如twopass。
twopass就是視頻壓制需要經過兩次編碼,分別為twopass-1st pass(簡稱1pass)和twopass-2nd pass(簡稱2pass)
1pass時,編碼器會用最高質量編碼采集可供第2次運算參考的畫面信息,而在2 pass時。編碼器會根據第一次壓縮獲得的信息和用戶指定的文件大小,自動分配比特率,使需要高流量的運動畫面分配到更多的空間,更高的比特率來保證畫面質量。相對的,對于那些不包含太多運動信息的靜態畫面則用較低的比特率。追求畫質的朋友當然會選擇這種方式,但運算比single pass更費時。

接下來介紹一些基本概念:
Q值——量化值,它被用來描述1幀的質量,每幀都有一個Q值,取值范圍在1-31之間。Q值越小,畫質越好,比特率越大
I-frame——關鍵幀,常被縮寫為IF。關鍵幀是構成一個幀組的第一幀。IF保留了一個場景的所有信息
P-frame——未來單項預測幀,縮寫為PF,只儲存與之前一個已解壓畫面的差值
B-frame——雙向預測幀,縮寫為BF,除了參考之前解壓的畫面以外,也會參考后一幀的畫面信息


第一步:Profile@Level(框架級別)設置
選擇Profile@Level旁的more按鈕來進行框架設置。Profile@Level里方案的層級越低,編碼的比特率及分辨率限制的越多。在制作 DVDrip時一般選擇AS@L5或者unrestricted(不限定比特率,讓編碼器自行分配)。我在制作手機影片時通常選用AS@L5,因為可選擇的方案更多,而且比特率可自己隨意調節,只要手機能跑的動就行!!
(注意:在single pass模式下,Profile@Level的設定無效,由編碼器自行分配比特率)



第二步:Encoding type(編碼類型)設置?????????? (這里是重中之重)
第1種方式:
single pass,求快可以用這種一次性編碼來壓縮視頻。但因為每幀的壓縮率相同,流量自行分配,所以壓縮后的視頻容量無法控制。 single pass有Target quantizer和Target bitrate兩種模式,在主界面的Encoding type里先選擇 single pass,再點擊左下方的Target XXX按鈕在兩種模式中進行切換
名詞解釋:
Target bitrate——目標比特率模式。選擇平均比特率編碼,相對容易控制文件大小。
Target quantizer——目標Q值模式,采用動態比特率編碼。設置為“1”是最高質量,31是最低質量。設置為2是容量與效果的最佳比,但文件體積很大,可以設置小一點的數值,例如2.5,如果不確定,可以按主界面上的“calc”按鈕計算目標容量大小(詳細的計算方法請看下一節)






如何用calc計算容量:
Target size:目標容量的大小,舉例來說,如果我們想將視頻容量控制在1CD以內,由于1M等于1024KB,所以其值不能高于716800KB。
subtitles:選擇此項能將外掛字幕的大小納入計算
container:按照你想制作的最終視頻格式選擇
video:設定視頻長度及fps
Audio:設定音頻格式


第2種方式:
為了保證視頻的質量,很多時候我們會選擇twopass模式來壓縮視頻
step 1:
在主窗口的“Encoding type”下拉菜單中選擇1pass模式,再點擊旁邊的more按鈕。在彈出的窗口中勾選 “Discard first pass”(不輸出第一次運算結果)否則可能生成一個高達幾GB的無用文件。 “full quality first pass”是指優質進行1pass,通常這是沒必要的,這樣反而會降低1pass的編碼速度






step 2:
再返回到主窗口,在“Encoding type”下拉菜單中選擇2pass模式,點擊旁邊的more按鈕進行設置。
首先點擊“stats filename”這一欄的按鈕,選擇在1pass編碼時生成的*.pass文件。
其余講解請看圖






以上介紹了兩種編碼方式,現在講一下視頻的優化:
01.Advanced Options:
Motion search Precision(運動檢索精確度):設定運動檢測的精密度,數值越高,文件轉換時間越長,建議選用“6-ultra High”
VHQ mode(VHQ模式):根據人類視覺特性進行建模,可以使肉眼可分辨的區域壓縮的好一點,從而提升肉眼所見部分的視頻質量。若想效率與質量兼顧,可以將VHQ設置為1,若想求得最佳畫質則可以將VHQ設置為4
Use VHQ for bframes too:對BF也使用VHQ模式
Use chroma motion:使用chroma(色度)信息來動態計算,雖然會增加編碼時間,但可以有效地防止色塊和亮塊,建議選擇
Turbo:開啟BF時可以提高編碼速度,但會降低一點畫質,不建議選取
Frame drop ratio(丟幀率):保持為0,因為我們希望每一幀都被編碼
Maximum I-frame interval:最大IF幀距,一般為幀率的10倍。例如一段視頻的幀率為24,則該處就填寫240,最好是維持為240,這樣可確保每240幀就會有一個IF。如果場景變換偵測出需要插入IF的幀數小于這個值的話,它就會重新計算




02.Quantization(量化)設置:
設定IF/PF/BF最小及最大Q值,從XVID1.1開始,它的流量控制做的很好,在比特率足夠的情形下,不會出現過高的Q值,保持默認可防止目標容量超出或者小于設置的情況。但在single pass模式下設定Q值是無效的
Trellis quantization:在2pass模式下可以提升畫質,但在single pass模式則會使畫質有一些下降,容量也有所減少




03.Debug設置:
Performance optimizations:性能優化,可以選擇特定的cpu指令集優化,建議選擇第一項
Fourcc used:默認值是xvid,改變此設定可以讓你使用divx等其他播放filter來播放,但有時會不兼容,建議不修改此項設置



04.Zone options設置:
zone其實就是將影片劃分為幾段,分別為這些片斷定制一些設置(此項設置用于轉換pc上觀看的影片較多,在此不作細講)
小提示:如果在片頭之類非重要片段使用Quantizer模式,應該在1pass中也使用相同的設置。而若要用Weight模式則只需要在2pass中設置即可



至此,xvid的參數設置已講解完了,有興趣于此道的朋友可以多作嘗試,找出適合你的具體參數。
我先獻丑了,把自己的參數設置提供給大家
手機機型:QD
片源:一般都是網上下載的AVI文件
轉換軟件:TMPGEnc3XP
視頻編碼器:xvid
編碼參數:幀率:15fps?? ,碼率:128-160kbps(動畫片的碼率有時更小) 編碼方式:single pass(上傳到論壇的視頻都是用的 single pass,主要是為了節省時間,而且手機不能支持較高的碼率,故個人感覺在此single pass和twopass差別不大。如果用于 pc上,還是建議用twopass) 其余的設置均是參照上文
音頻編碼:MPEG Layer-3???????? 32000hz?? ,48kbps?? CBR?? ,Mono
濾鏡:只在加字幕文件的時候用到,一般是制作的SRT字幕,濾鏡是Text Sub2.23
如果有朋友經常用DIVX編碼,請發個帖子作一下詳細的介紹,大家交流一下經驗!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254629.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254629.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254629.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

常用的Meta標簽寫法和作用

頁面關鍵詞  <meta name"keywords" content"your tags" />  頁面描述  <meta name"description" content"150 words" />  搜索引擎索引方式  <meta name"robots" content"index,follow"…

從庫存管理系統,體驗活字格強大的移動端應用開發能力

活字格&#xff0c;開放易用的 Web 應用生成平臺 隨著移動互聯網時代的來臨&#xff0c;企業在移動端管理和運營的需求急劇增加&#xff0c;這就要求企業應用系統要能做到工作流程自動規范、移動端操作流暢便捷、協同辦公快速高效、業務流程高度自定制、需求變更隨時修改等。 活…

Xvid編碼器流程(基于xvid1.1.0)

調用Xvid編碼器流程(基于xvid1.1.0) 編者按&#xff1a;本文為Xvid最新源代碼V1.1.0版本的學習筆記&#xff0c;內 部資料&#xff0c;僅供學習參考&#xff0c;未經授權&#xff0c;不得轉載 xvid有兩種編碼方式&#xff1a;single pass和twopass single pass模式編碼簡…

置換矩陣

來源&#xff1a;百度百科 定義&#xff1a; 設P 是一個 mn 的 (0,1) 矩陣&#xff0c;如 m≤n且 PxPtE&#xff0c;則稱 P為一個 mn的置換矩陣。其中Pt是P的轉置矩陣&#xff0c;E是m階單位方陣。 判定條件&#xff1a; 定理 1 當 m≦n時&#xff0c;一個 mn 的(0,1) 矩陣P為置…

halcon Matching-3D 3D匹配,持續更新

目錄Matching-3D 3D匹配Deformable Surface-Based基于可變形表面1. add_deformable_surface_model_reference_point2.add_deformable_surface_model_sample3. clear_deformable_surface_matching_result4.clear_deformable_surface_model5. create_deformable_surface_model6. …

CVE-2009-3459

Adobe Acrobat和Reader都是美國Adobe公司開發的非常流行的PDF文件閱讀器。 Adobe Reader和Acrobat 7.1.4之前的7.x版本&#xff0c;8.1.7之前的8.x版本以及9.2之前的9.x版本中存在基于堆的緩沖區溢出漏洞。遠程攻擊者可借助觸發內存破壞的特制PDF文件執行任意代碼。 轉…

leetcode-665-Non-decreasing Array

題目描述&#xff1a; Given an array with n integers, your task is to check if it could become non-decreasing by modifying at most 1 element. We define an array is non-decreasing if array[i] < array[i 1] holds for every i (1 < i < n). Example 1: I…

halcon 3D Object Model 三維物體模型算子,持續更新

目錄3D Object Model 三維物體模型Creation創建1.clear_object_model_3d2.copy_object_model_3d3. deserialize_object_model_3d4. gen_box_object_model_3d5. gen_cylinder_object_model_3d6. gen_empty_object_model_3d7. gen_object_model_3d_from_points8. gen_plane_objec…

linux下kafka與zookeeper集群部署

*********************************配置主機名&#xff0c;通過主機名連接機器********************************* 比如說&#xff0c;已經有了三臺主機 1&#xff0c;在linux上設置hostname&#xff0c;通過hostname來訪問linux虛擬機 1.1. 修改hosts文件 vim /etc/hosts#/etc…

調用Xvid編碼器流程(基于xvid1.1.0)

xvid有兩種編碼方式&#xff1a;single pass和twopass single pass模式編碼簡單&#xff0c;速度也快&#xff0c;但最終效果不如twopass。 twopass就是視頻壓制需要經過兩次編碼&#xff0c;分別為twopass&#xff0d;1st pass&#xff08;簡稱1pass&#xff09;和twopass…

關于box-shadow屬性的一點心得

一般我用到box-shadow都是用于諸如按鈕&#xff0c;文本塊&#xff0c;某些圖標&#xff0c;css類似為: box-shadow: 1px 1px 5px rgba(0, 0, 0, .8);這樣&#xff0c;樣式看上去會更加柔和&#xff0c;或者增加了立體感。 我個人的理解上&#xff0c;box-shadow的本質就是本體…

Laravel核心解讀--控制器

控制器 控制器能夠將相關的請求處理邏輯組成一個單獨的類&#xff0c; 通過前面的路由和中間件兩個章節我們多次強調Laravel應用的請求在進入應用后首現會通過Http Kernel里定義的基本中間件 protected $middleware [\Illuminate\Foundation\Http\Middleware\CheckForMaintena…

C#枚舉、值、字符串的相互轉換

目錄枚舉的定義使用方式優點代碼示例枚舉的定義 枚舉是整數類型&#xff0c;用戶自定義的整數類型的一個集合。 使用方式 public enum A {a0,b1,c2 }注意&#xff1a;枚舉定義的不同變量之間要用“&#xff0c;”分割&#xff0c;結尾不需要加上“&#xff0c;” 優點 可以…

制作404頁面的重要性

在網站的運行過程中會面臨很多問題&#xff0c;當用戶搜索頁面時&#xff0c;會提示服務器出錯&#xff0c;請求的頁面不存在&#xff0c;程序配置錯誤等問題。用戶請求瀏覽網頁碰到這些的情況時&#xff0c;會自動跳出系統默認的錯誤提示&#xff0c;對用戶體驗造成不好的感觸…

明晰C++內存分配的五種方法的區別

在C中&#xff0c;內存分成5個區&#xff0c;他們分別是堆、棧、自由存儲區、全局/靜態存儲區和常量存儲區。 棧&#xff0c;就是那些由編譯器在需要的時候分配&#xff0c;在不需要的時候自動清楚的變量的存儲區。里面的變量通常是局部變量、函數參數等。 堆&#xff0c;就是那…

【BZOJ-4631】踩氣球 線段樹 + STL

4631: 踩氣球 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 224 Solved: 114[Submit][Status][Discuss]Description 六一兒童節到了&#xff0c; SHUXK 被迫陪著M個熊孩子玩一個無聊的游戲&#xff1a;有N個盒子從左到右排成一排&#xff0c;第i個盒子里裝著Ai個氣球。SH…

3D Reconstruction三維重建halcon算子,持續更新

目錄3D Reconstruction三維重建Binocular Stereo雙目立體binocular_disparitybinocular_disparity_mgbinocular_disparity_msbinocular_distancebinocular_distance_mgbinocular_distance_msdisparity_image_to_xyzdisparity_to_distancedisparity_to_point_3ddistance_to_disp…

遺傳算法初級

遺傳算法是一種基于仿生學的計算機算法&#xff0c;通過模擬自然進化和優勝劣汰法則來搜索問題的最優解(我會說這其實就是稍微改良了一下的暴搜&#xff1f;) 它是由美國的J.Holland于1975年提出來的玄學概率學混合暴力搜索方法&#xff0c;廣泛適用于尋找算法優解、機器學習、…

C++ vector容器類型

vector類為內置數組提供了一種替代表示&#xff0c;與string類一樣 vector 類是隨標準 C引入的標準庫的一部分 &#xff0c;為了使用vector 我們必須包含相關的頭文件 &#xff1a;#include <vector> 使用vector有兩種不同的形式&#xff0c;即所謂的數組習慣和 STL習慣…

redis在linux命令行下連續進行命令操作

redis-cli -a password -n 9 keys "friend*" -a 是auth -n 是選擇數據池 keys就是找key啦、 要是后面再跟上 xargs */redis-cli del redis-cli -a password -n 9 keys "friend*" | xargs redis-cli -a password -n 9 del 就完美了23333 轉載于:https://www…