2013年1月15日 星期二

系列之5─能讓你流暢播放影像的音效濾鏡-Reclock

今天要介紹的Reclock這個東西,為DirectShow Filter的一種,在MPC的架構裡面它會作為Audio renderer被呼叫,它是SlySoft論壇上的James所開發,主要有兩大特色,其一為強大的音訊輸出功能,支援XP的Kernel Streaming或WIN7的WASAPI輸出,Bitstream的數位輸出,以及各種位元率和取樣率的轉換;其二就是同步功能,這個同步是指螢幕更新率跟影片速率(FPS)的同步,透過小幅度的對音訊和視訊串流做加減速讓其跟螢幕更新率完全同步,以達至最流暢的影像播放。

不裝Reclock對播放影片有沒有什麼影響呢?老實說並沒有什麼太大的影響,在前面的系列文之中,我們該有的解碼器都裝了,渲染器部分也設定好了,字幕的問題也解決了,播放各式各樣的影音格式都不成問題,但如果您眼睛夠利,也許會發現畫面的呈現有一點點的"奇怪",而這個"奇怪",在於畫面的移動,似乎不是那麼的平滑,有點抖動的感覺,不是那麼的"順",亦或是畫面的變換或拉動忽快忽慢,不是用一種平穩的速度呈現,或是偶爾給你跳個一下......我舉的這些例子,其實我敢說大部分的人平常在電腦上看影片都不會注意到,但是當你看過"正確呈現",真正平滑順暢的影像,再回過頭來檢視這些以前這些沒有正確呈現的影片,你或許會驚覺自己以前竟然能容忍那麼多糟糕的播放效果而不自知!

這就是我要寫文介紹Reclock的原因,Reclock能幫助影片正確的呈現出它原本該有的效果,而且這軟體並不消耗資源,就算不使用madVR或只使用MPC-BE內建的解碼器解碼,也可以搭配Reclock使用。事實上我強烈建議安裝這個軟體,對我而言看影片時已經到沒有它不行的程度了。

2013年1月11日 星期五

系列之4─最佳特效字幕解決方案-xy-vsfilter


此篇文章原本的內容已經過時了,因XySubFilter的開發團隊已經停止運作很久了,加上目前各大播放器內建的字幕渲染器支援度和效能表現都已經不錯,故把這篇文章的內容刪除,各位可使用播放器內建的字幕渲染器即可。

系列之3─最強渲染器-madVR

在介紹這東西之前,先用張圖來複習一下上回提到的播放過程:










這邊可以看到視訊輸出的最後一道過程就是Video Renderer(視訊渲染器)的部分,同時這個部份也是對畫質影響最吃重的一個部分,在來源檔案相同的前提下,可以說影像播放的畫質好壞取決於渲染器之上也不為過,而madVR正是以此為最大賣點的渲染器,此渲染器是由DOOM9論壇上的madshi所開發,不惜一切效能代價以換取最大的畫質表現,也因此這個渲染器對顯卡的要求稍微吃重些,超越了我們一般對播放軟體之硬體要求的常識(這個常識是指,只有玩遊戲才需要用到較高階的顯卡,影像播放只需要低階顯卡甚至內顯已可勝任),我們最好以run一個遊戲的標準來看待其所需要的效能。但並不是說只有好的顯卡才能用這個渲染器,事實上madVR內部的選項相當彈性,根據設置的不同它可以讓低階卡跟內顯順順跑,也可以把TiTan操爆,一般來說,我建議在能力許可的範圍內選擇一張不算太差的獨立顯卡才能發揮它該有的戰力。

翻譯一下開發者madshi提到關於madVR的一些特色:

  • 高品質的chroma upscaling(下面內文會再解釋這東西)
  • 高品質的scaling(各種升降頻演算法)
  • 高品質的YCbCr→RGB轉換
  • 對螢幕執行gamut和gamma的調色校正
  • 內部演算皆為16bit的高精度處理
  • 最後處理完成的16bit訊號dithered降轉成8bit RGB輸出
  • 避開各種顯卡內加料(對畫質有負面影響)的演算法
  • 所有作業皆透過GPU shaders完成(IVTC運算除外)
  • 以追求最高品質為第一優先


2013年1月10日 星期四

系列之2─強大的外掛解碼方案-LAV Filters

在介紹這個東西之前,先簡介一下一般影音檔在DirectShow架構的播放器播放時的運作過程,首先是讀取檔案的File source(讀取濾鏡),將其讀取的內容傳給Splitter(分離器),前面兩者又可合稱Source filters(源濾鏡)。然後Splitter會將其分離為視訊編碼跟音訊編碼,將視訊編碼傳給Video decoder(視訊解碼器)做解碼,將音訊編碼傳給Audio decoder(音訊解碼器)做解碼,然後解碼完的視訊內容傳給Video renderer(渲染器)渲染後交由顯卡輸出,解碼完的音訊內容則交給音訊裝置輸出(預設是DirectSound Device)。

若是播放DVD,則源濾鏡會使用win內建的DVD Navigator,其他則大同小異。

而今天要介紹的主角LAV Filters,則是一個包含分離器/視訊解碼器/音訊解碼器三者的外掛解碼方案,內容有LAV Splitter、LAV video decoder、LAV audio decoder三者,由DOOM9論壇上的nevcairiel所開發,檔案格式支援性高,完整支援各種10bit編碼,亦支援DVD及BD的解碼(BD的選單則尚不支援),BUG少,功能強大但又實用而不花俏。

以往在MKV檔的播放上,也有人推薦Haali Media Splitter這款分離器,可惜其似乎已停止開發,而LAV Splitter在不斷改進下,其功能已不輸給Haali Media Splitter,而我在預設的狀態下去測試也發現LAV在拉動時間軸時的反應時間要快得多,所以我認為現在已可捨Haali Media Splitter而將LAV Splitter做為預設的分離器。

在解碼器方面,LAV比MPC-BE內建的更具優勢之處個人認為至少有以下幾點:
  1. 強大的硬解支援能力,MPC-BE內建的解碼器硬解只支援微軟標準的DXVA,而LAV video decoder除了支援DXVA外亦支援NV卡的CUVID解碼,及Intel的QuickSync解碼,此外還支援DXVA-copy back,以及D3D11解碼(0.71版加入),這個後面會再介紹。
  2. 10bit、16bit color space的輸出支援,可以直接輸出如P010、P016等等這些解碼完的10bit、16bit color space的內容給渲染器處理,MPC內建輸出就只有NV12、YV12、YUV2這些8bit的color space。(新版本的MPC-BE已能支援P010等等輸出了)
  3. 若讓LAV直接輸出RGB訊號,其內建的Dithering算法亦有極高的轉換品質。
  4. 多聲道降混頻可自由設置Center、Surround及LFE三者的混合比例。
  5. 具備MKV Edition/Ordered Chapters/Segment linking 章節連結/選擇功能(0.56版後加入)

2013年1月1日 星期二

系列之1─簡單實用又美觀的影音播放器-MPC-BE

相信大家可能有聽過或用過K-LITE或完美解碼之類的解碼包,這些東西當年可算得上是好用,原因之一就是因為夠傻瓜,就算對播放軟體或解碼器在幹麼全然不了解,也知道只要裝下去什麼都能播,不過這種東西也是有缺點的,因為把一堆解碼器兜在一起,有時候容易產生衝突或BUG,有些莫名其妙的小問題往往都是這種解碼包所引起的。時至今日,播放軟體的內建解碼器往往已經很完善了,也就是說我們不再需要這種大補解碼包也可以漂亮地解出各種影音格式,今天要介紹的就是這套播放軟體─MPC-BE,用過K-LITE的朋友可能對MPC並不陌生,之後的MPC-HC就是基於MPC的基礎上所開發出來的軟體,而MPC-BE,則是從MPC-HC的開發團隊中分支出來的一群人(主要是俄國佬)開發的另一個版本,簡單的說就是鬧內鬨然後就分家了......姑且不論兩個軟體誰優誰劣,MPC-BE在介面設計上個人感覺是比較美觀的,這也是挑它出來寫介紹文的用意。以下從無到有一步步詳細介紹安裝及設定: