網誌文章分布

最新消息:
AviSynth/VapourSynth Filter 支援 YUV444P16 格式啦~ 這樣就有很多花樣可以玩了,像是Waifu2X, RIFE等RGB濾鏡可以幾乎無損輸出! 超開心
最近的腳本有提供RIFE實時撥放支援,等過段時間再把RIFE的相關資訊寫到Blog中 如果有時間的話...咕咕咕
DmitriRender迎來時隔年五年多的更新了(僅限NVIDIA Ampere, Turing, Pascal, Maxwell, Kepler顯示卡),同時也支援10Bit輸出。不過新版好像緩衝有點太少,容易卡頓
SVP最新版本已支援在DS系撥放器中透過Avisynth Filter輸出10Bit畫面,而且跳轉時卡頓狀況有大幅改善。
由AMD工程師回覆,AMD已徹底終止Fluid Motion技術,如有BFRC需求的用戶請多加留意。 (https://community.amd.com/thread/250830)

近期更新文章:
測試筆記:SVP最新測試版參數(beta script)(2023-12-17 腳本更新)
進階教程系列(十二) - 視訊解碼濾鏡 MPC Video Decoder(2022-06-11)
進階教程系列(三) - 字幕渲染濾鏡 XySubFilter丶AssFilterMod(2022-06-11更新)

2017年5月14日 星期日

進階教程系列(七) - 補幀濾鏡 SmoothVideo Project (SVP) 簡介

寫了這麼多篇,終於寫到本Blog的主題了,可喜可賀 (*゚∀゚*)
SmoothVideo Project (SVP) 透過Motion interpolation(運動內插),
在影片中原有的影格間,插入中間幀,藉此提高影片幀率,產生更加平滑丶流暢丶清晰的觀看體驗,
類似的技術在現在許多電視丶投影機中都可發現其蹤影,
而SVP的優勢是提供顯示卡加速,讓及時觀賞提高幀率的影片成為可能,
也是目前BlueskyFRC丶dmitriRender丶SVP之中唯一一個可以輸出10bit影片的補幀方案。*
*2020年10月後,SVP可以透過Vapoursynth或Avisynth輸出10bit影片。
(資料來源:SVP官方網站


效果如下,
影片請以 720p60 1080p60 觀看,
其餘格式不容易看出差異(會被youtube壓成30p)。




SVP補幀透過Avisynth運作(mpv player則為Vapoursynth),
其核心為SVPflow,而SVPflow則是由MVTools2修改而來,
系出同源,也因此可以在彼此身上看到一些互相的影子,
透過一些轉換甚至可以替換部分組件運作。

目前我所知道的相關補幀方案有以下幾種,
SmoothVideo Project (SVP) - 使用SVPflow
InterFrame - 使用SVPflow
jm_fps - 使用MVTools2
但這幾種補幀方案補出來的效果卻差異很大,
明明都是相關的技術,甚至有幾種連核心都相同,
原因為方案所採用的參數不同,
參數有超過30項,能搭配出來的組合有非常多種,
而研究丶測試參數,則是當時撰寫本Blog的初衷,
希望其他有興趣的朋友可以一起研究不同組合。

題外話:
原本其實只想寫SVP的部分,
不過後來覺得既然要寫,那就乾脆從播放器開始寫起好了,
結果,就是拖了好幾個月才正式要提SVP的部分 (゚∀。)

本篇先不提如何安裝SVP,留到之後的文章再提,
因為SVP不同版本上有些差異,
希望能夠了解其差異在進行下一步,

有以下幾種版本,
SVP 3:僅支援32位元的播放器,但優勢為免費丶可調參數眾多。
SVP 4 Free:支援64丶32位元播放器,而且免費,但幾乎不可調參數。
SVP 4 Pro:支援64丶32位元播放器丶可輸出10bit影片丶可調參數眾多,但是...要錢。

我會比較建議使用SVP 4 Pro,
如果不想花這錢,則建議使用SVP 3,
SVP 4 Free沒幾個參數可調整,達不到我們的需求。
*SVP 3其實可以透過魔改來支援64bit,不過因為版權因素,不便多談,只好麻煩有需要的人自行研究囉。

當然,
如果對Avisynth有研究的朋友應該可以直接編寫腳本不用花這筆錢,
不過有研究的朋友應該也不會看這篇就是了... ヽ(✿゚▽゚)ノ

寫在最後,
會有本Blog,非常感謝K大的幫助,
告知了許多知識,
尤其是解釋SVP原始碼部分,
讀原始碼對非資訊背景的我來說實在有些難度,真的看不懂啊~~~
請受小的一拜 m(_ _)m

延伸文章:
進階教程系列(八) - 螢幕更新率Hz與影片幀率fps
SmoothVideo Project 系列(一) - 安裝丶簡易設定

接下來會提到幾種不同SVP的安裝方法及簡易版的參數設定,較複雜的部分則要在更晚一些才會提到,因為我也還在測試,也歡迎各位一起研究。

敬請期待~


我們下回見 :)

8 則留言:

  1. 您好,能否出一个vaporsynth+svp的教程呢,平时看SDR+10bit+4K的比较多,用BFRC的8bit处理总感觉心里很膈应。

    回覆刪除
    回覆
    1. 先將SVP 10Bit輸出選項開啟 (在 應用程式設定->附加選項 中)
      直接使用安裝目錄中的mpv.exe撥放檔案,預設路徑為C:\Program Files (x86)\SVP 4\mpv64\mpv.exe
      如果需要調整拉伸算法之類的,請修改mpv.conf設定。

      刪除
    2. 米奇哥是不是業配SVP?
      如果補幀到120就讚爆了��

      刪除
    3. 非業配(沒收取任何利益,亦無向SVP-team談論任何業務)
      目的是整理SVP的筆記在Blog中,方便以後自己查閱紀錄,此外,如果能幫到其他人就更好了。

      刪除
  2. 您好,想問有沒有開頭那個影片的詳細參數介紹?
    我想要檔案大小壓縮到最小,但是畫質最好(或最接近原始畫質),並且補幀到60fps。
    我使用的是「H.265/HEVC / NVENC」,因為「H.265/HEVC / QuickSync」太慢了。
    不曉得什麼參數比較適合。

    因為預設「H.265/HEVC / NVENC」參數輸出來的檔案太大,
    所以修改了一些參數這樣檔案相對較小且接近QuickSync的輸出大小
    以下是我用的SVPcode參數:
    編碼方式「hevc_nvenc」、
    ovcopts「preset=p7」、
    ovcopts「rc-lookahead=1」(這個我看到預設 H.265/HEVC / QuickSync有類似的)

    1. 請問這樣合適嗎?
    2.如果需要1080p轉成720p60fps,直接在「裁剪-改變解析度-縮減至HD」來轉碼比較好;
    還是先1080p轉碼1080p60fps,再用其他軟體1080p60fps轉成720p60fps。
    效果是不是一樣?
    3.如果外掛字幕要內嵌轉檔,我試過直接在「lavfi」選項加入「subtitles=E\\:/sub/1.ass」參數,看起來會因為補幀的關係造成字幕被影響,看起來是先內嵌字幕才補幀。
    有辦法讓他先補幀再內嵌字幕嗎?
    4.後來ShanaEncoder來再轉檔內嵌字幕,參數一樣是「設定檔main」「級別auto」「範本p7」「調整hq」,請問這樣合適嗎?還是有其他推薦的軟體?

    以上, 拜託米奇大大多多指教了。

    回覆刪除
    回覆
    1. 我用的不是SVPcode轉的喔。
      是使用x264/x265等工具轉碼的,由於是CPU編碼,所以會比硬體編碼還要慢得多。
      1. 從沒用過SVPcode。
      2. 由於影片編碼通常是有損的,因此不建議多次編碼,最好一次到位。
      3. 我沒直接用過這種方式加入字幕,我通常會先寫Avisynth或Vapoursynth腳本加入字幕。
      4. 同2.不建議多次轉檔。

      刪除
    2. 沒用過Avisynth或Vapoursynth腳本的方式。
      已經找到SVPcode轉檔,字幕要不被補幀影響的方法了。
      https://i.imgur.com/JJxQCsX.png

      將原本「subtitles=E\\:/sub/1.ass」前面多加個「;」就可以了「;subtitles=E\\:/sub/1.ass」。
      不過還是很麻煩就是了,沒辦法批次轉檔。

      即使在這裡面「%AppData%\SVP4\settings\code.cfg」加入常用的字幕捷徑按鈕還是很麻煩。「"lavfi/subtitle": ";subtitles=E\\\\:/sub/1.ass",」
      沒有自動選擇字幕就是麻煩。

      看來是SVPcode的極限了。

      刪除

熱門文章