------ 文章開始 ------
作者 web2312 () 看板 AVEncode 標題 [推薦] ReClock - 取得完美垂直同步的DirectShow Filter 時間 Sun Mar 14 19:32:14 2010 ─────────────────────────────────────── 關於Reclock調整framerate後使用SPDIF去bitstream DTS音頻 由於無法resample,所以是透過掉封包(或重複)的方式來維持影音同步 根據官方的說法是不推薦使用,官方是建議以LPCM方式透過HDMI輸出 不過可惜我的n牌顯卡不支援+擴大機不支援HDMI音訊輸入 然而透過AC3 Re-encode又會破壞音質 (1.5mbps DTS 重編碼成 640kbps AC3 = =) 根據官方人員(James)在論壇上提到的說法是 "我這邊沒辦法使用,如果你可以使用,並察覺不出聲音的異常,那就好好享受吧, 至少那個選項就放在那裡(雖然是寫不建議)" ReClock DirectShow Filter ---------------------------------- 簡介 ---------------------------------- ReClock Directshow Filter的用途是在於排除不流暢的影像播放效果, 例如在一台電腦或者連接至投影機或電視的電腦播放各種片源(AVI, MKV, DVD, Blu-ray, etc). Reclock是一個DirectShow Filter,它將會 取代原先DirectSound音訊轉譯器的位置被呼叫使用. 主要是利用將視訊及音訊做適當加速或減速來與螢幕更新同步, 類似EVR-Sync的第一種方案,但目前EVR-Sync的開發還不是很成熟, 後來小弟陸續試出一些問題,未來幾天會將它更新在上次的EVR-Sync文章中. 根據doom9的mpc-hc官方團隊表示,EVR-Sync未來還有很大的改善及加強空間. 而Reclock的開發已經有8年了(2002年 first release),功能上更完善, 事實上Reclock除了拿來做垂直同步外,也有其他玩法,例如在XP下開KS(像foobar那樣) 或者將PAL規格的影片做處理在60hz規格的顯示器播出等等... ---------------------------------- 作者網站 ---------------------------------- ReClock - SlySoft Forum http://forum.slysoft.com/forumdisplay.php?f=85 註:Google輸入Reclock搜尋到的http://reclock.free.fr/已停止更新, 請移步至上述網址繼續關注Reclock的開發. ---------------------------------- 下載 ---------------------------------- 目前最新版本為 1.8.6.7 (2010/3/24) 安裝檔 http://sandbox.slysoft.com/beta/SetupReClock1867.exe Source code http://oss.slysoft.com/ReClock/ ---------------------------------- 使用簡介 ---------------------------------- 首先安裝Reclock之後,在桌面上可以看到 "Configure ReClock", 那就是調整Reclock設定的地方. 接著簡單講一下可調整的部分 Audio settings頁面 Audio Interfaces to use for PCM: 選擇PCM音訊的輸出介面,一般選擇DirectSound Kernel Streaming則可以繞過windows混音器,類似Win7的WASPI 獨占模式,使用時注意,XP下的Wave音量控制將不作用,請記得 將總音量開小一些 Bitstream: 串流直接輸出,例如將AC3/DTS等音訊直接經SPDIF送至擴大器 做外部解碼,一般選擇WaveOut Devices to use with 這裡不用改,按照預設的通常會指定正確的音效裝置 Sound pre-buffer Duration: 這個按照預設是500ms,可以試著將這個預先緩衝值調小,有助於 減少播放開始時的聲音延遲. (指的是按播放後,聲音要稍等一下 才會出現,這個值小弟是把它調成120ms,調太小的話會暴音) PCM Output Sampling Rate: Quality: 這裡維持Same as input即可 Format: 重新取樣的品質可以上調至Best Sinc Interpolation Output mono sources to both front channels 如果音源是單聲道,就擴展至雙聲道,這個選項基本上不勾 Set matching speaker configuration 設定合適的聲道設定,開啟此項將自動控制聲道設定,例如你可以將windows驅動的 聲道數設定為5.1,播放時,Reclock會依據影片內容自動切換2.0/5.1,此將可避免 在5.1聲道設置下播放2.0聲道時輸出3.1的空白聲道,導致無法處理其他聲道的情況, 例如將2.0擴展至所有喇叭的情況. 如果不是使用5.1以上聲道喇叭,此選項一般不勾. Time Streching: 時間延展,當改變聲音速率時,做時間延展來維持原pitch,個人是不勾,因為加速減速的 幅度非常小的情況下不太需要. Use AC-3 encoding: 將輸入Reclock的PCM音訊再次轉碼為AC3再以Spdif做bitstream輸出. 通常是當遇到5.1ch的AAC音訊時,擴大機不支援AAC解碼,此時可以先由電腦解碼為PCM再 即時編碼為AC3輸出擴大機讓他吃 General Accept bitstream formats 當使用SPDIF時,請勾此項. Video settings頁面 Framerate determination 左側media files勾選Use built-in... 將Use DirectShow...取消勾選,下方Assume framerate when not found 選擇29.970fps 右邊DVD將Use built-in...打勾,下方Assume framerate when not found 選擇29.970fps 要注意的是,General的第一個選項必須勾選,第二個選項必須取消勾選. 第二個選項勾選的話,所測出來的螢幕更新率通常不會精準,將影響後續的微調導致不同步 Advanced settings頁面 將所有選項取消勾選,包括Force...(Recommended)那一個,因為它會在任何播放影片的 程式跳出要不要使用Reclock的畫面. 設定完了 ---------------------------------- 接著來講一下實際使用的部分,首先推薦使用MPC-HC,因為它可以檢視Renderer的詳細資訊. 調用Reclock的方法是,將播放器的音訊轉譯器(Audio Renderer)選成Reclock即可. 接著將螢幕更新率調整為影片速率的整數倍(例如一般動畫23.976fps就使用48或72hz 的螢幕更新率,如果不清楚影片速率可以在播放時,開啟Reclock的資訊方塊查看.) 開始播放時,可以看到右下角常駐列會出現一個時鐘,點它將它開啟. http://img532.imageshack.us/img532/4562/28995114.jpg 右邊Video hardware的部分可以看到實際的螢幕更新率,雖然windows顯示為48hz, 但實際上通常不是剛好在48.000hz,這張圖顯示為47.952hz是小弟利用nvidia驅動 的自訂計時去調整出來的,算是最接近23.976fps的倍數 (實際上可能是47.952095751...所以還是要使用Reclock來做細部微調) (要調整至真正的24000/1001的倍數恐怕不太可能,這就像開車時 請他以時速50.25000000000000公里的速度駕駛一樣的困難) 接著請設定為如上面那張圖的設置即可@@ Slave...那個如果打開的話 會導致不同步的情況 然後我們來看看開了Reclock跟沒開的差別吧@@ 為了突顯Reclock調整的效果,小弟使用72.031hz的螢幕更新率(23.976*3=71.928) MPC-HC使用EVR-CP的影像繪製器,在播放時按右鍵/繪製器設定/重新設定/ 重新設定為最佳的繪製器設定,調整後就可以開始測試. 播放時,按Ctrl+J可以顯示renderer的資訊. 未使用Reclock(Frame rate 23.976 @ 72.031hz) http://img169.imageshack.us/img169/8603/10363932.jpg 可以看到綠線從上往下掉,說明了螢幕更新率過快,當綠線(Sync offset)到達紅線時, 就會Repeat 1個frame. 使用Reclock (Frame rate 23.976 加速至 72.031/3 @ 72.031hz) http://img169.imageshack.us/img169/741/42647248.jpg Perfect sync,綠線一直維持平穩,實際上過了一個小時在回來看也只掉了非常小的幅度. 意思是整個playback過程中,完全不會drop掉任何frame也不會重複任何frame. Reclock作用中的資訊方塊 http://img18.imageshack.us/img18/1372/62218725.jpg 可以注意到Media adaptation的地方是寫media speed changed to 24.000fps 但實際上是改成72.031 / 3,也就是24.010 fps 意思是我們只需要將螢幕更新率儘可能的靠近23.976的倍數 然後Reclock會將影片速率調整至適合該更新率的速率, 無論是47.955或47.936都會自動調整影片速率. 因此上面那個訊息理解成影片速率調整至24fps左右,請將螢幕更新率調整至 接近24fps的整數倍會比較好. 當然能調整至47.952或71.928是最好的,這樣reclock調整的幅度就會小一些,並且 可以得到幾乎原汁原味的24p playback. 另外對於使用Kernel Streaming(XP)或者WASPI(Vista/Win7)的使用者,由於在這個 情況下,MPC-HC的音量控制不起作用,所以在播放影片時即時調整音量將會很不方便, 小弟推薦使用Volumouse這個軟體,至於他是做什麼的,請看下圖 http://img63.imageshack.us/img63/6651/86863480.jpg (看起來還真有點像是電視的播放畫面XD...) 可以設定按鍵組合來調整系統音量,我設定的是Ctrl+滑鼠滾輪 (在XP下可以指定要調整總音量,MIDI,WAVE等等...) Volumouse官網 http://www.nirsoft.net/utils/volumouse.html 下載網址 http://www.nirsoft.net/utils/volumouse_setup.exe 除了播放影片外,玩全螢幕遊戲時,要即時調整音量也是OK的,這個軟體在任何情況下 都可以作用. ---------------------------------- 測試狀況(2010/05/29) ---------------------------------- 1.不知道是什麼問題,小弟 AC3 re-encode做5.1 SPDIF output時 會出現斷音的問題. 2.使用除了overlay,VMR7(無編譯),VMR7以外的繪製器配合reclock並開啟MPC-HC內部 字幕器的話,播放過程會有tearing的現象. 3.如果播放24fps影片而螢幕不支援24/48/72HZ的話,使用60HZ也可以,雖然沒辦法 將每個frame規則的1:1直接輸出,reclock還是可以做到穩定格率(不掉格)的狀況. 4.win7 64bit的使用者,請安裝x86的MPC-HC再裝reclock,不然會抓不到reclock的 裝置. 5.Reclock對部分影片的fps判斷不正確,例如極少部分的影片可能會標成29.969fps 實際上是29.970fps的playback,如此會造成Reclock處理的錯誤而無法完全sync, 可以在Video settings頁面將frame rate determination的Media files的Use DirectShow unchecked,然後assumed frame rate when not found選擇為29.970 fps,使用built-in estimator比Directshow要準確.這一點我花了1個小時跑 兩次各24分鐘的影片來測試,一次使用built-in來分析fps,另一次使用directshow, 結果directshow分析fps做的sync,影片播放24分鐘內的同步offset偏移的比使用 built-in的要大許多. PS:設定when not found為29.970fps可以避免影片一開始播放約1-2秒時,內建fps 偵測器偵測到fps後,稍微頓一下的情況.(也就是一開始在偵測前就先默認23.976/ 29.970fps,然後在由內部偵測器做更進一步的fps偵測,例如由23.976修正至 23.9760239760...) (2010/5/29-updated) 目前主要問題是,開MPC-HC內部字幕器+Reclock並使用EVR(custom present)的話,會有 撕裂的現象,暫時替代方式是使用ffdshow字幕器就不會了(使用KMP內部字幕器亦會撕裂) 第二個問題是同時使用reclock並做SPDIF數位音訊輸出,有幾個方法,最好的方法仍是 直接5.1 LPCM 以HDMI輸出,不然就是得用re-encode到AC3的方式,目前小弟無法使用 HDMI輸出LPCM音訊,因為擴大機沒有HDMI輸入,而且也不支援類比6聲道輸入. Reclock中直接做SPDIF的選項,小弟還沒測試,等有空的時候在測看看@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.133.33 ※ 編輯: web2312 來自: 114.32.133.33 (03/14 20:46) ※ 編輯: web2312 來自: 114.32.133.33 (03/14 21:08) 推 xvid:記得移除移不乾淨 03/15 19:09 ※ 編輯: web2312 來自: 114.32.133.33 (03/16 23:01) 推 AlanLive:可以簡單的說一下用這個的好處是什麼嗎? 畫質變好? 03/18 07:02 → web2312:去除judder(頓感) ->某些影格被省略或重複就會造成 03/18 09:52 → web2312:電腦硬體的一些時鐘並沒有精確對準影片 所以會造成不同步 03/18 09:53 → web2312:抱歉這個坑可能要週末才能補,最近變得有點忙,沒時間寫 03/22 23:40 → web2312:report更新了...@@ 03/22 23:40 ※ 編輯: web2312 來自: 114.32.133.33 (03/31 19:00) ※ 編輯: web2312 來自: 114.32.133.33 (03/31 19:15) ※ 編輯: web2312 來自: 114.32.133.33 (03/31 19:23) ※ 編輯: web2312 來自: 114.32.133.33 (04/01 21:08) 推 AlanLive: 我用這程式讓影片調用 WASAPI 發聲,但居然可以調整音量 04/28 06:44 → AlanLive:記得 WASAPI 應該是不受系統音量控制的,雖然沒差,但還 04/28 06:44 → AlanLive:是想問一下,播放軟體是 Potplayer with ffdshow 04/28 06:45 → web2312:作業系統是? 05/08 11:35 ※ 編輯: web2312 來自: 114.32.133.33 (05/08 11:42) → web2312:調整音量指的是MPC-HC的還是音量控制面版上的? 05/08 11:43 ※ 編輯: web2312 來自: 114.32.133.33 (05/08 11:43) ※ 編輯: web2312 來自: 114.32.133.33 (05/29 12:27) ※ 編輯: web2312 來自: 114.32.133.33 (05/29 12:28) |
------ 文章結尾 ------
[複製網址]
[開新視窗]
[加到我的最愛]
[檢舉短網址]
[QR條碼]
服務條款 - 完全手冊 - 加入會員(免費) - 聯絡偶們 -
© PPT.cc