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的安裝方法及簡易版的參數設定,較複雜的部分則要在更晚一些才會提到,因為我也還在測試,也歡迎各位一起研究。
敬請期待~
我們下回見 :)
您好,能否出一个vaporsynth+svp的教程呢,平时看SDR+10bit+4K的比较多,用BFRC的8bit处理总感觉心里很膈应。
回覆刪除先將SVP 10Bit輸出選項開啟 (在 應用程式設定->附加選項 中)
刪除直接使用安裝目錄中的mpv.exe撥放檔案,預設路徑為C:\Program Files (x86)\SVP 4\mpv64\mpv.exe
如果需要調整拉伸算法之類的,請修改mpv.conf設定。
米奇哥是不是業配SVP?
刪除如果補幀到120就讚爆了��
非業配(沒收取任何利益,亦無向SVP-team談論任何業務)
刪除目的是整理SVP的筆記在Blog中,方便以後自己查閱紀錄,此外,如果能幫到其他人就更好了。
您好,想問有沒有開頭那個影片的詳細參數介紹?
回覆刪除我想要檔案大小壓縮到最小,但是畫質最好(或最接近原始畫質),並且補幀到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」,請問這樣合適嗎?還是有其他推薦的軟體?
以上, 拜託米奇大大多多指教了。
我用的不是SVPcode轉的喔。
刪除是使用x264/x265等工具轉碼的,由於是CPU編碼,所以會比硬體編碼還要慢得多。
1. 從沒用過SVPcode。
2. 由於影片編碼通常是有損的,因此不建議多次編碼,最好一次到位。
3. 我沒直接用過這種方式加入字幕,我通常會先寫Avisynth或Vapoursynth腳本加入字幕。
4. 同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的極限了。
感謝您的經驗分享~
刪除