看板 AVEncode 關於我們 聯絡資訊
(PS. 以下所用 30i/30p/60p,數字代表每秒畫面數 frame i 代表畫面交錯,如 http://tinyurl.com/2eeve8q p 代表畫面完整,如 http://tinyurl.com/2bv6hoz i/p 差異處,請見圖左側) 上禮拜趁著沒發片的空檔 研究了一下 用電腦播 要怎樣才能讓霹靂的畫質提升 後來發現 原理其實很簡單 把原本 30i 的影片(如霹靂系列,大部分的演唱會 DVD) 利用較高級的去交錯演算法 計算出 60p 的畫面 讓畫面更流暢 尤其在武戲等人物高速移動的場景,有最好的效果 實際效果範例影片:http://tinyurl.com/37nq3uh (不用作下列設定,可以直接看,xvid-mp3編碼) 需要的免費軟體 (皆有中文介面) 1. MPC-HC (播放器) http://tinyurl.com/y8u9jqf 2. ffdshow (倍頻用) http://tinyurl.com/3v9wv 必要設定 1. MPC-HC 中文化: View -> Language -> Chinese(Trad..) 2. MPC-HC 設定 : 檢視 -> 設定選項 -> 內部篩選器 -> 取消 MPEG-2 Video -> 外部篩選器 -> 新增篩選器 -> 選ffdshow Video Decoder -> 確認,偏好 3. ffdshow 設定 : 在前一個畫面,點兩下 ffdshow decoder 4. ffdshow 中文化: Tray, dialog... -> Language -> 正體中文 5. MPEG-2 解碼 : 編解碼器 -> MPEG2 -> 解碼器那欄點兩下,選 libavcodec -> 勾選 DVD decoding 6. 倍頻去交錯 : 勾選去交錯,其餘設定如圖 http://tinyurl.com/4qpr3at 播放霹靂 DVD 執行 MPC-HC,檔案 -> 開啟光碟 -> (選擇光碟機) 跳過版權/廣告 -> alt-R 這時已經有 60p 倍頻的效果了! 檢查是否真的是 60p 播放中按 ctrl-J,左上角 frame rate 在 60 左右,(40.0 ms = 25.0, P) 即可確定是 60p (另一種方法,按 ctrl-4,影格頻率在 60 左右也 OK) 跟 30p, 30i 作比較 播放中按右鍵,篩選器 -> ffdshow Video Decoder -> 內容 30p => 去交錯裡的 Double framerate 不要勾 30i => 去交錯不要勾 PS. 有問題請推文,小弟盡力幫忙解決,謝謝! -- 白髮三千橫世態 玉骨冰心縱蒼穹 風節自古如殘照 ▁▁ 青袍一舞笑人庸 ▕玉冰▏ ▕骨心▏ ▔▔ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.107.234
meidoku:推這篇,不過我想有興趣的人不多吧,我朋友他說他看 11/12 21:32
meidoku:土豆網就看的很高興了,真是被他打敗 11/12 21:33
timtame23:60P的 畫面會怪怪的 跳格? 30P好像不賴 11/12 21:37
eagyrrg6a13:好文一篇,推這篇但不推樓上推文內容 11/12 21:37
eagyrrg6a13:樓樓上 11/12 21:37
nixo:用PS3或X360,直接提升到1080P 11/12 21:46
deerdriver:一般好像是說30fps 沒有人說30i或30p的 11/12 21:52
tonyhsie:其實是29.97i 59.94p....打一堆數字怕大家看了眼花 @@ 11/12 21:56
tonyhsie:的確用 29.97 fps (interlaced)/(progressive)比較清楚 11/12 21:56
peoplelo:我會用了~~~剛剛問原po問好久 11/12 22:09
damaskala:不懂,但似乎好優文! 11/12 22:32
james732:看不太懂,是說會更流暢嗎? 11/12 23:02
Apricotsu:DVD畫質其實就很好了,個人眼拙 用電腦看不出差別 XD 11/12 23:12
joinwu:只要用一個SPLAYER就能有更好效果 廣告片頭片尾快轉超方便 11/12 23:13
tonyhsie:更流暢沒錯...只要能用ffdshow的程式都可用 MPC-HC非必要 11/12 23:23
joinwu:提高FPS對話直沒有加分 要其他的FILTER才有效果 11/12 23:41
joinwu:像是抗噪 去鋸齒(交錯) 銳化 柔化....等之類才有用 11/12 23:44
joinwu:之前我也都習慣用FFSHOW搭配DECODER撥放 現在都只用SPLAYER 11/12 23:46
tonyhsie:要看是怎樣提高FPS 若用演算法插入frame 的確可提高畫質 11/12 23:46
tonyhsie:這個就是去交錯的 filter 啊...用的是動態補償方式... 11/12 23:47
joinwu:Http://splayer.org 安裝好記的把語系變成 正體中文 11/12 23:48
tonyhsie: 動態適應 11/12 23:49
tonyhsie:霹靂DVD一定要去交錯才能看 而去交錯的演算法中 能即時 11/12 23:49
tonyhsie:時播放的最好演算法 就是動態適應方式了... 11/12 23:50
tonyhsie:其實重點並不在於你用哪個player 而在於你怎麼作去交錯 11/12 23:57
tonyhsie:splayer的MPEG-2解碼器 跟MPC-HC一樣 但spla的版本比較舊 11/13 00:06
tonyhsie:它作反交錯的方式 自然也跟MPC-HC內建的decoder一模一樣 11/13 00:06
tonyhsie:不曉得你所謂splayer有更好效果 指的是哪方面? 11/13 00:12
joinwu:抓圖可能是狠準僅供參考 http://goo.gl/nBIeD 11/13 00:15
joinwu:SPLAYER並不使用FFSHOW 直接跑ffmpeg以及CoreAVC 11/13 00:25
joinwu:FFDSHOW要就跑原本的CODE 不然就是跑ffmpeg的libavcodec 11/13 00:26
joinwu:如果撥放器要透過ffdshow才能跑ffmpeg模式就有點脫褲子放屁 11/13 00:28
joinwu:參考 http://goo.gl/GyZes 對ffdshow的註解 11/13 00:30
tonyhsie:醬就一目了然 你是用shader的deinterlace(blending) 11/13 00:49
tonyhsie:blending還有MPC-HC內建的MPEG-2所有去交錯選項 效果不好 11/13 00:50
tonyhsie:所以才要改用ffdshow內建的yadif來作去交錯 11/13 00:53
tonyhsie:圖例請看http://www.100fps.com/ 比較blend/adaptive的圖 11/13 00:55
tonyhsie:為什麼動態適應比較好http://tinyurl.com/2dpyweu wiki有 11/13 00:55
直接看圖最清楚,以梟皇第一集 43:57 秒左右,素還真悼楓岫的畫面為範例 (請注意:左下角的劍穗、左上角的劍柄) http://tinyurl.com/4rrol2j DVD 原始畫面,未作任何去交錯 (劍穗交錯得慘不忍睹) http://tinyurl.com/4w27gbk joinwu 大使用的 blending 方式 (交錯解決了,但小模糊) http://tinyurl.com/4doxy6c 本文所用的 yadif 畫面 1/2 http://tinyurl.com/4864kku 本文所用的 yadif 畫面 2/2 (劍穗/劍柄清晰可見) yadif 不但解決了交錯或模糊的問題 而且把 1 張原始畫面,變成 2 張不同的清晰畫面 進而提升了播放時的流暢度
james732:試過這篇才發現,用Windows Media Player播的我真是... 11/13 01:06
jahnny:樓上我笑了 XDDDDDDD 11/13 01:31
james732:真的差超級多,我一度覺得WMP已經堪用,現在好想砍掉 11/13 02:35
akiramilk:QoQ好深奧..不過看截圖,真的差很多 11/13 09:21
-- ╔═洺雙錆葉褎權氏葉稽咸璚葉══虎帥═══九幽 ψsilentocean ═══╗ ◢◣ ◢◣ ◢◣ ! \|\/|/!Ψ ︵(︶\ _Ψ_ \::/ - - \\ // "" \(_" _ \ \\// □ ̄ VS// \ > > > <> < > ╚═◢ || ═◢ || ═◢ || || ||═══| \═ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.107.234
tonyhsie:以上設定適用大部分非電影類的 DVD 11/13 15:01
web2312:這一篇所說的就是將interlaced影片還原回60i 11/13 15:07
web2312:直接播放時,採用的deinterlace方式是weave,也就是拉絲 11/13 15:07
web2312:不將top field bottom field交織在一起的30個frame還原回 11/13 15:08
web2312:60場 11/13 15:08
tonyhsie:不是weave哦...是motion adaptive 11/13 15:19
tonyhsie:它是將60場演算出60 frame...所以是 60p 11/13 15:19
web2312:恩 所以是說"直接播放時" @@ 11/13 15:23
web2312:另外用Yadif的double framerate得出的畫質大概介於原始 11/13 15:23
web2312:解析度到原始垂直解析度一半之間,例如1080i得出的畫質 11/13 15:24
web2312:將會介在540p至1080p之間(主要是看畫面動態與靜態分布) 11/13 15:25
web2312:如果可以用hardware deinterlacing的話,盡量使用顯卡的 11/13 15:28
web2312:去交錯功能,例如以potplayer在DXVA模式下播放H264,MPEG2 11/13 15:29
web2312:的交錯視訊內容,效果會比Yadif更好 11/13 15:29
tonyhsie:除非 hardware 是用 motion compensated 方式實作 11/13 15:45
tonyhsie:不然效果應該還是不會比 yadif 好... 11/13 15:45
tonyhsie:據說 pure video decoder + NV 顯卡可用上述方式去交錯 11/13 15:46
tonyhsie:但我這邊沒東西測試 XD 11/13 15:46
tonyhsie:從範例圖片可以看到 它用單場演算出的單frame 效果很好 11/13 15:49
tonyhsie:30i->60p的確是對流暢性和肉眼可感受的畫質 都有加分 11/13 15:50
web2312:我是用n牌顯卡9600gt,使用顯卡deinterlace的效果確實比 11/13 15:50
web2312:yadif好一些 11/13 15:50
web2312:Yadif的反交錯是比mpc-hc內部篩選器mpeg2解碼器的去交錯 11/13 15:52
web2312:還好,使用mpc-hc內部mpeg2解碼器的反交錯似乎只是單純的 11/13 15:52
web2312:Bob,所以畫面有水平細線的地方看起來會閃爍 11/13 15:53
web2312:由於我使用DXVA狀態下的反交錯開啟的是VMR7(視窗式)轉譯器 11/13 15:54
web2312:所以無法截圖,我是開兩個mpc-hc在同一個影格以切換視窗的 11/13 15:55
web2312:方式比對顯卡反交錯與Yadif的... 11/13 15:55
tonyhsie:http://tinyurl.com/2dpkfjf web大可以拿去測試 11/13 15:56
tonyhsie:我的測試圖片 是用第24個frame作處理得來的 11/13 15:58
tonyhsie:如果你方便的話 可以截出圖來對照一下 @@ 11/13 15:59
web2312:OK,我現在來測試一下 11/13 16:00
web2312:http://tinyurl.com/2adnz47 11/13 16:52
web2312:三個皆使用EVR-CP作為視訊轉譯器,兩個使用ffdshow 11/13 16:53
web2312:libavcodec 一個使用DXVA 11/13 16:53
web2312:時間軸那個請無視,實際上三張圖確實是同一個frame 11/13 16:54
web2312:weave那張因為交錯的關係,兩場的畫面疊在一起 11/13 16:54
tonyhsie:上面兩個連結 是把web大的圖片放大150%來比較 11/13 17:46
tonyhsie:左紅圈 DXVA的看起來較發散 右紅圈 DXVA鋸齒狀較明顯 11/13 17:48
tonyhsie:個人是認為yadif的效果 似乎比硬體解交錯稍好一些 11/13 17:50
tonyhsie:我用ATi 3650測 結果差不多 圖就懶得貼了 XD 11/13 17:50
web2312:由於沒有原始60p影片作對照 所以這樣比其實也沒什麼意義@@ 11/13 17:51
web2312:之所以會說硬體反交錯比較好,是因為我在測試某一個60i影片 11/13 17:51
web2312:但實際上是30p(也就是上場與下場可以直接合成一張無交錯 11/13 17:52
tonyhsie:範例檔案就是原始DVD直接無失真剪下來的 11/13 17:52
web2312:的圖),顯卡反交錯可自動區別出實際為30p而直接作weave處理 11/13 17:52
tonyhsie:這種影片不會有原始60p的檔 因為拍的時候就是interlace了 11/13 17:53
web2312:但是Yadif仍會以Motion adaptive的方式來反交錯 11/13 17:53
web2312:也就是說顯卡反交錯應該能比Yadif更準確的判斷交錯內容@@ 11/13 17:55
tonyhsie:事實上大部份60i的影片都不是完美的30p...weave效果奇差 11/13 17:56
tonyhsie:我想那個case應該是歪打正著吧 顯卡也是看旗標來判斷@@ 11/13 17:57
tonyhsie:當然如果碰上這種case 不適合用yadif處理就是了... 11/13 17:57
web2312:那個影片是1080 60i 但內容為30p的動畫(仍以interlaced 11/13 17:58
web2312:方式紀錄), flag也是標成interlaced,所以DXVA是把它當成 11/13 17:59
web2312:交錯訊號處理的 11/13 17:59
web2312:如果影片本身是30p但紀錄成60i的話,直接用weave效果是最好 11/13 18:00
web2312:的,並且沒有畫質上的衰減 11/13 18:00
tonyhsie:是這樣沒錯 但是通常60i的影片 很少是完美30p故意弄成60i 11/13 18:01
web2312:總之看個人喜好吧,DXVA反交錯或YADIF都是不錯的選擇@@ 11/13 18:01
tonyhsie:http://tinyurl.com/2dpyweu 從wiki可以發現動態補償最好 11/13 18:04
web2312:如果影片內容同時有24p 30p混合的時候,製作藍光碟會壓制成 11/13 18:05
tonyhsie:http://www.100fps.com/ 各種去交錯範例 這邊結論也一樣 11/13 18:05
web2312:60i,如此一來要得到24p就作IVTC,要得到30p直接weave就可以 11/13 18:06
tonyhsie:之前在論壇看到pure video decoder/NV的搭配可用動態補償 11/13 18:06
tonyhsie:DGDevNV 也可以...一堆人在問能不能用在 DVD 去交錯上 11/13 18:08
tonyhsie:所以我比較好奇動態補償出來的結果會是如何 @@ 11/13 18:08
tonyhsie:不曉得web大有沒有60i(=30p)的片段可以借我測試? 11/13 18:20
web2312:doom9上面有MCBob (動態補償反交錯) 可以配合avisynth 11/13 18:23
web2312:來操作, 不過處理時間可能... 11/13 18:24
tonyhsie:轉檔的話 MCBob/TempGaussMC(目前王道)可以作動態補償 11/13 18:26
web2312:那個片段是在藍光上面的,要傳應該不太方便XDD... 11/13 18:27
tonyhsie:不過在播放上無用 因為據說連Q6600等級fps都只有1左右 XD 11/13 18:27
tonyhsie:切一秒下來就可以啦 XD 11/13 18:28
web2312:今天就先這樣子吧,花太多時間在搞播放器了...@@ 11/13 18:30
web2312:之後再來試試看TempGaussMC的效果 11/13 18:30
tonyhsie:嗯 切也是要花很多時間 也可以告知片名啦 我再去找找 @@ 11/13 18:42
Sunal:30i會=15p嗎? 那以30fps的速度播放 會不會很難看? 11/14 20:39
tonyhsie:30i 不作處理直接 30 fps 播的話,會看到動態畫面有拉絲 11/14 21:12
tonyhsie:http://www.100fps.com/ 這裡有很多範例圖 11/14 21:14
web2312:應該沒有人說30i 因為30i變成30場interlaced 那是15fps@@ 11/14 21:19
tonyhsie:30是frame數啊 不是field數 11/14 21:55
tonyhsie:30i/60p等...30/60 是每秒frame數 i/p 是指交錯/完整 11/14 21:57
tonyhsie:開頭補充一下說明了,希望不要讓大家搞混 @@ 11/14 22:15
更新蛙圖連結 ※ 編輯: tonyhsie 來自: 220.135.107.234 (03/26 23:42)