|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2005-03-31, 01:54 PM | #1 |
榮譽會員
|
DVD vob-rmvb壓制技巧和經驗(avs)
DVD vob-rmvb壓制技巧和經驗(avs)
轉自YY小蝦米 安裝軟體 Gk0.28.7(可以使用其內的濾鏡和DVD2avi工具)以上版本,Avisynth2.5x,阿飛解碼插件包(vobsub、mpge2,AC3ACM等解碼器)或者風暴插件包,rma(分離合成rm視瀕和音瀕用) 一,源處理 1,smartripper和DVDecrypter提取vob文件 壓制vob-rmvb推薦使用smartripper,可以很方便的合成輸出整個vob,也方便後續字幕的提取和使用 需要注意幾點: 1)硬碟分區格式如果是Fat32的只能提取4G的文件,所以如果文件超過4G,可以ripper到NTFS格式的分區上,同時在smartripper上定義文件大小,預設是4G。 2)對於多聲道的文件,如同時有2ch或者6ch的,就採用2ch。如此ripper時的文件會進一步縮小,而且2ch的壓制問題較少。雙語影片根據實際情況提取,參見下文。 3)如果要進行切割分集,那麼用DVDecrypter來進行ripper更方便些。 2,DVD2AVI產生工程文件和音軌 DVD2AVI可以檢視源的一些訊息。開啟後按F5預覽,彈出的視窗中可以檢視訊息如畫格率,是否是PAL還是NTCS。注意,DVD2AVI 顯示的 Frame Type = Interlaced 的訊息,不是表示這張畫面是否交錯,而是根據DVD內裝的一些參數得出的,DVD2AVI 根本不會去分析、判斷畫面上是否有交錯。因為我們手裡拿到的很多DVD片子製作也非標準。 設定上,field operation設定成None,交給後續的avs的decomb做IVTC處理,其他的設定一般論壇上介紹的就是預設的設定,如在視瀕 [Video]表單下的[iDCT]中選項IEEE-1180,可以獲得最好的解碼品質,速度上也不是傳說中的最慢.最後儲存工程文件File->Save Project (1.76) 如果是一些雙語的連續劇,通過這步就可以將幾個音軌都提取出來,就可以先單獨壓制d2v文件得到視瀕rm,然後分別將2個音軌壓制,最後可以用rma進行合併。見下文。 二,avs及其濾鏡的合理使用 1,IVTC IVTC是對場處理籠統的叫法,狹窄意義上講,場處理一般又分IVTC,FieldDeinterlace,Bob等.實際壓縮證明IVTC可以在一定程度上控制碼率。 IVTC(Inverse Telecine),簡單的說,IVTC就是將DVD紀錄的29.976fps(NTSC)或25fps(PAL)的隔行信號還原為膠片的23.976fps的逐行信號。IVTC可以有效的消除影片的「拉絲(Interlace)」現象,還可以平滑的減少每杪內的楨數,以獲得畫面品質與碼流的最佳比例。不過所謂的拉絲,如同http://www.100fps.com給的示例,我在D...輩e羧砑?m舊淼?/a>"反交織(Deinterlace)"功能,效果反而不好.所以我不知道那些所謂高手談論去拉絲時到底結合了多少實際壓縮體會. FieldDeinterlace一般用於純交錯(interlaced)的視瀕流上,如DV源等,是真正意義上的反交織.http://www.100fps.com上有很多示例圖. Bob()有場分離的意思,用於vedio制式的轉換,具體也瞭解不多,略. 做IVTC有很多方法,如TMPGENC裡的ODD/EVEN去場,VDM的BLEND去場,又有很多avs濾鏡可以實現,如IT,Warpsharp,decomb,GreedyHMA,TomsMoComp等.這裡只根據常用的用GK或者AutoRv9自動產生的avs範本介紹avisynth的濾鏡decomb,感興趣的可以根據這些關鍵詞到百度或者google尋找相關資料. 下面參考DVDSHarexvid裡介紹的IVTC的內容(混合型的不介紹)和doom9官方的http://gb.doom9.org/index.html?/dec...的功能略有不同. PAL制式 FieldDeinterlace(blend=false) #FieldDeinterlace() #FieldDeinterlace(full=false) #Telecide(guide=2).Decimate(cycle=25)#有些版本order加了會出現錯誤,就取消 NTSC制式 Telecide(guide=1,post=false).Decimate(Cycle=5) 估計是抽去重複畫格的作用才使得rmvb壓制時,碼率在一定程度上有所控制.而對於絕大多數的DVD,所謂的拉絲現象是不明顯的. 下面順帶將這幾個的詳細參數說明下 FieldDeinterlace參數 FieldDeinterlace(full, threshold, dthreshold, blend, chroma, debug) FieldDeinterlace()相當於FieldDeinterlace(full=false, threshold=15, dthreshold=9, blend=true, chroma=false, debug=false) 為預設設定 full關閉,說明只對檢測到的交織的畫面進行處理 blend指在交錯畫面用繪圖來替代填充 threshold (0-255), dthreshold (0-255), 預設分別為15和9,一般用threshold, dthreshold等閾值參數都會增加壓縮時間,但效果提升又有限 常用的,如FieldDeinterlace(blend=false),FieldDeinterlace(full=false),大家可以自己測試體會下. decomb參數 Telecide(reverse, swap, firstlast, guide, gtresh, post, treshold, dthreshold, blend, chroma, y0, y1, debug) 其中 guide,0-3,預設0 ,NTSC用1,PAL用2,當已知DVD是NTSC或者Pal時,使用此參數可以大大提高field matching threshold(0-255, default 15),設定一個極限,超過此極限telecide便認為它是有橫紋的禎,將在後面被deinterlace.增大這個值如果過多的好禎被deinterlace,減小此值如果一些地方的橫紋沒有被探測到。 dthreshold(0-255, default 9),設定deinterlace的強度,可以開啟到75,不過速度馬上降低. post預設是開啟,說明Telecide後還要進行deinterlace,如果畫質好,可以關閉. 如:用於一些動畫片製作avi時的設定 Telecide(Guide=1,Gthresh=50,Chroma=True,Post=false) Decimate(cycle=5) Decimate參數 Decimate(cycle, mode, threshold, debug) Decimate有移除重複畫格率的作用,cycle裡NTSC用5,PAL用25 mode主要用於混和畫格的處理 如: Decimate(mode=1,threshold=50) 關於decomb的更詳細的內容參見http://gb.doom9.org/index.html?/decomb.htm 注:對於混合型的IVTC處理參見其他人介紹的內容. 2,畫面裁減和縮放 crop()/LanczosResize() 若要著名的silky講解畫面裁減和縮放,起碼5千字。我就佔他光簡單的說一句:只要人物沒有壓扁或太陽等圓形物體沒有變成橢圓即可。有經驗的也就無所謂用GK來精確計算,何況很多情況下(4:3模式的連續劇),就是GK算過的也還是要手動來調整 想瞭解的多的,請看 http://dream4ever.org/showthread.php?t=441 根據rmvb壓制的實際情況,推薦自由裁減和固定縮放(新手還是試試GK或者VDM)。 自由裁減 先用mediaplayer在原始畫面下觀看效果,瞭解黑邊、視瀕噪音線的大致情況。一般盡可能的裁減掉,特別是左右黑邊。 自crop(左,上,-右,-下) 固定縮放:根據片子的特點,經裁減後用以下三個固定畫面來用於rmvb的壓制 全螢幕4:3模式的用448×336,480×360,512×384 普通寬銀幕(2.35:1)用640×272(建議這類畫面保留部分黑邊,則畫面大小為640×360) 一般寬銀幕用576×312,608×336 如: crop(16,8,-8,-8) LanczosResize(448,336) 若用於動畫片的壓制,有不少人使用SimpleResize 如: LoadPlugin("C:\Program Files\Gordian Knot\SimpleResize.dll") crop(8,24,-8,-4) SimpleResize(512,384) 畫面縮放是我在rmvb壓制中比較強調的問題。作為一種高度壓縮的格式,沒有那麼多資料來保證大畫面。而用於vob-rmvb的壓制,縮小畫面不僅可以一定程度上控制碼率(如果片子本身容易錯位的,那縮小畫面還是不能有效控制碼率,除非縮小到384×288的小畫面以下),而且合適的畫面大小是人性化壓制的體現。當在電腦上開啟一個rmvb,其原始畫面近乎充滿螢幕時,我真的不知道操作點在哪裡。另外高解析度的畫面需要硬體支持,更何況播放rmvb本身對硬體要求要高,所以壓制者必須考慮畫面縮放的問題。 3,亮度 亮度是rmvb壓制需要注意的問題。很多人問我怎麼我的碼率設定的那麼低,而畫質卻相當好,是不是用了什麼額外的濾鏡。實際我就是在壓制時增加了些亮度。增加亮度在xvid製作中一般卡的較緊,他們認為是增加亮度也會同時增加噪音,同時碼率也會加大。rmvb壓制中,建議用Levels(),增加點亮度即可,所謂的噪音也可以為rmvb柔化的本著特點給掩飾了。而增加了亮度的rmvb整體畫質上就感覺比較陽剛。 增加亮度,在rmvb壓制中對碼率和壓縮時間基本無影響 4,降躁 用於vob-rmvb,使用降低噪音的目的是為了控制碼率。參考了部分xvid製作時的avs參數,使用undot()。undot濾鏡是進行像素及細小噪點降噪,一般用來去除細小的、肉眼不容易察覺的噪點,所以具體效果上並不明顯,而且對壓縮速度也影響不大。結合IVTC可以在一定程度上控制1pass壓制碼率錯位。 我一般這麼用,加一套濾鏡就用一次undot LoadPlugin("c:\Program Files\GORDIA~1\UnDot.dll") LoadPlugin("C:\PROGRA~1\GORDIA~1\decomb.dll") DirectShowSource("e:\temp\sample.vob") #IVTC略 UnDot() crop(16,8,-8,-8) LanczosResize(448,336) UnDot() Levels(0,1.2,255,0,255) UnDot() 或者 LoadPlugin("C:\Program Files\GORDIA~1\mpeg2dec3.dll") LoadPlugin("C:\Program Files\GORDIA~1\decomb.dll") LoadPlugin("c:\Program Files\GORDIA~1\UnDot.dll") v=mpeg2source("e:\temp\sample.d2v",cpu=4).undot() #IVTC略 v=crop(v,16,8,-8,-8) v=LanczosResize(v,448,336).undot() v=Levels(v,0,1.2,255,0,255).undot() a=DirectShowSource("e:\temp\sample.ac3") AudioDub(v,a) 5,柔化降躁(具體參見VCD-rmvb壓制篇) 也就是常用的fluxsmooth、deen/eDeen和Convolution3D,這幾個會增加壓縮時間,1pass碼率控制上不明確。一般用於動畫片或者片源較差的片子以及DV錄製的片源的處理。其中fluxsmooth用於VCD壓制可以明顯改善VCD的畫質,這個會在VCD-rmvb壓制中說明。對於畫質較好的DVD片子特別要注意取捨。我看很多人的avs濾鏡中,這幾個全套加入,實為不可取! 載入deen和Convolution3D有的系統上需要轉換色彩環境,那麼可以根據出現錯誤提示來增加轉換顏色環境的濾鏡,如CONVERTTOYV12() Convolution3D可以直接用作者內建的preset Convolution3d (preset="movieHQ") // Movie Hi Quality (good DVD source) is an alias for Convolution3D (0, 3, 4, 3, 4, 2.8, 0) Convolution3d (preset="movieLQ") // Movie Low Quality (noisy DVD source) is an alias for Convolution3D (0, 6, 10, 6, 8, 2.8, 0) Convolution3d (preset="animeHQ") // Anime Hi Quality (good DVD source) is an alias for Convolution3D (0, 6, 12, 6, 8, 2.8, 0) Convolution3d (preset="animeLQ") // Anime Low Quality (noisy DVD source) is an alias for Convolution3D (1, 8, 16, 8, 8, 2.8, 0) Convolution3d (preset="animeBQ") // Anime Bad Quality is an alias for Convolution3D (1, 12, 22, 8, 8, 2.8, 0) Convolution3d (preset="vhsBQ") // VHS capture Bad Quality is an alias for Convolution3D (0, 32, 128, 16, 64, 10, 0) anime用於動畫片,movie用於普通影視,vhs主要用於DV源的處理 deen可以用 deen("a2d",2,10,12),具體參見vcd壓制篇 edeen預設是(7,14,21,2,3,true) fluxsmooth可以參考一些自動產生的範本,如 # 1) little noise #Temporalsoften(2,3,3,mode=2,scenechange=6) #mergechroma(blur(1.3)) #FluxSmooth(5,7) # # 2) medium noise #Temporalsoften(3,5,5,mode=2,scenechange=10) #Convolution3d("moviehq") #FluxSmooth(7,7) # # 3) heavy noise #Temporalsoften(4,8,8,mode=2,scenechange=10) #Convolution3d("movielq") #FluxSmooth(10,15) 可以使用其中的一套,我一般考慮到壓縮時間的代價,很少用,至多用個FluxSmooth(5,7)或者deen 具體參數可以查閱濾鏡原有的的說明 http://www.avisynth.org/warpenterprises/ 有些濾鏡已經有更新! 6,字幕提取和載入 分集的根據實際cell來進行提取 其他的參照我的中進階教學裡的相關內容 7,最後來說說源的載入 1,目前的aisynth版本可以使用DirectShowSource直接載入vob文件(2ch聲道),如此可以同時利用ERP的avs功能來實現成批載入。不過非經驗者,由於插件選項不當,直接用DirectShowSource載入會有些問題。 2,mpeg2source載入d2v是沿襲至今的方法,速度上稍微快點。對於直接載入vob壓制,時間顯示不正確的可以用d2v的方法。 3,多聲道的音軌,也可以不必直接轉換成上G的wav文件。可以按照mimi8和老Q介紹的方法用Graphedit將提取得到的ac3/DTS音軌轉換得到GRF工程文件進行載入,可謂妙用。 如: v=mpeg2source("e:\temp\sample.d2v",cpu=4) v=crop(v,16,8,-8,-8) v=LanczosResize(v,448,336).undot() v=Levels(v,0,1.2,255,0,255).undot() a=DirectShowSource("e:\temp\sample.GRF") AudioDub(v,a) 註:若有時間差,可加用DelayAuido(),或者在ERP裡直接設定時間差也比較含蓄! 三,壓縮軟體及範本設定 經過以上處理,那麼可以選項壓縮軟體來壓制了。目前推薦用ERP1.71來載入avs壓制 r9 1pass壓制。 碼率選項: 剛開始時直接用Helix壓制vob文件,所以碼率設定480-1500k,也不去管它是否錯位。儘管vob畫質清晰,因為只是單純壓制,這麼大的碼率效果還是不好,呵呵!晚近,經過avs處理後畫質更可以得到改善和修飾,所以根本就沒有必要使用大碼率壓制。現在根據我的界點碼率1pass壓制方案和我對real低碼率下壓制特點的認識,我的初始平均碼率設定一般為 290k;330k,350k,380k;390k,最大碼率700-1000k而已。畫格率23-25,聲音根據實際情況選用,一般推薦32k或者44k的立體聲r8高回放.其他所謂的進階設定可以不必理會,因為只要注意我上述介紹的細節,普通r9就可以獲得精良的效果! 雙語連續劇,可以先單獨壓制d2v文件得到視瀕rmvb,然後分別將2個音軌壓制,最後可以用rma進行合併。 將視瀕文件重新命名成01.001 將音瀕文件重新命名成01.000 文件放置在rma的\BIN\DOS目錄內 在「開始-執行」裡面輸入「cmd」,進入dos模式(2k和xp用戶) CD指令進入rma的bin\dos目錄 CD\ 回到根目錄 CD E: 進入E碟 CD E:\rma 進入rma目錄 ...... 執行合併指令: rma -j/01.000//01.001/ 01.rm (注意裡面的空格) 最後一般建立索引,得到正式的rm文件,播放即可以移到 rma -i 01.rm 註:經rma分離合成處理後的rm不能在GUI界面下編輯,顯示out of memory錯誤。DOS模式下儘管可以進行切割,但因不能明確定義關鍵畫格,所切割效果讓人鬱卒。 |
送花文章: 3,
|