Anime 4k Project

Author Avatar
Mika Laatikainen Aug 16, 2016
  • Read this article on other devices

最近搞到了一份「四月は君の嘘」的BD,正好這兩天群裏討論了不少關於各種視頻解碼之類的問題,再加上之前看過一個10bit 4k 120fps的「Only my Raigun」的混剪,所以就想着怎麼把我手裏這份BD也都搞成4k分辨率來收藏起來。

首先我想到的是使用Adobe Media Encoder直接轉碼,然而AME目前並不支持MKV文件,所以必須要進行一些預先處理工作。


第一步 解封MKV

我們平時常說的MKV或者mp4之類的視頻格式,其實本質上是一種封裝格式,把視頻信息和音頻信息,以及一些其他的字幕以及章節等信息封裝在一起並對齊。通俗點講的話,可以將MKV文件理解成壓縮包,裏面有一個沒有聲音的純視頻和一段單獨的音頻。
既然MKV只是個壓縮包的話,那就只需要把它解壓一下,然後把視頻信息單獨提出來丟進AME就好了。這裏用到的工具是MKVToolNix,這個工具本身是用於打包MKV文件的,但也內置了解封用的程序。不過自帶的解封程序並不提供GUI界面,需要單獨下載。
MKVExtractGUI

下載好GUI界面,丟進MKVToolNix的安裝目錄,雙擊運行即可。打開解封工具,選擇要進行解壓的MKV文件,下面的窗口會直接顯示出這個MKV文件所包含的全部內容:一個H.264的視頻文件,一個flac的音頻文件,以及章節信息。
勾選上這三個文件,章節信息選擇xml格式,點擊Extract即可解封。

需要注意一下的是,這裏解封出來的視頻文件的後綴爲.h264,而爲了能讓AME正常讀取,需要手動改爲.264格式。

第二步 Adobe Media Encoder

接下來要做的事情自然不用說,把264文件扔進Adobe Media Encoder即可。剩下兩個文件先放到一邊,一會兒再用。
可能是由於文件較大,也可能是因爲AME對264的優化不夠,這一步讀取通常需要很長時間,並且途中還有可能出現無響應的情況。
待讀取完畢以後,在AME中選擇輸出格式,這裏格式依舊選擇h.264,預設改爲自定義。

自定義預設中將分辨率設置爲4k(3840*2160),並勾選最高質量和最大深度。
單擊確定返回主界面後就可以開始渲染了。不過如果你使用的顯卡是Nvidia核心的話,還可以選擇「Mercury Playback Engine GPU 加速(CUDA)」這個選項,它幫你大幅節省時間。
未開啓GPU加速
開啓GPU加速
如圖所示。

第三步 效果

其實結果是顯而易見的,這麼做雖然數值上視頻分辨率變成了4k,但實際上是沒有任何效果的。視頻的畫質不會有任何提升,甚至可能因爲拉伸放大而導致畫質變差。

因此,我們還需要其他的方式來進行畫質處理。


說道無損放大,很多人應該對waifu2x有所耳聞。waifu2x是利用機器學習製作的一個圖片放大軟件,尤其在插畫等二次元圖片上取得了不錯的效果。這裏我們就利用waifu2x來進行視頻放大。
這裏舉一個簡單的例子
原圖
waifu2x放大5倍
原圖直接放大5倍和waifu2x放大5倍的對比
效果還是非常明顯的。
更詳細的介紹在互聯網上還有不少,這裏就先不贅述了,接下來是改進後的方案。

第二步 Adobe Media Encoder Ver. 2

很遺憾,waifu2x是不支持視頻放大的,只能對圖片進行處理。我們知道,視頻本質上是一些連續的圖片的快速播放,每一張圖片被稱作一幀。所以我們只需要將視頻中的每一幀都提取出來,然後經過waifu2x處理,再拼回視頻即可。
這裏再次藉助Adobe Media Encoder,不過這次輸出格式選擇png序列。

以第一集爲例,最終導出了約33k張圖片,總共佔用了約75G的硬盤空間。

第三步 waifu2x

waifu2x GUI
打開waifu2x,在「入力パス」一行直接輸入png序列所在的文件夾即可。第二行選擇輸出位置,模式選擇降噪+放大,降噪等級開Level2即可,放大倍數選擇2倍,分割大小根據自己的顯卡性能調整,這裏選擇的是512.

這裏處理的時間與機器性能有關,通常來說需要24小時以上。

處理後的png序列,佔用硬盤空間173G。
1080p
4k
由於知乎縮圖比較嚴重,可能不太看得出區別。實際上在4k分辨率下waifu2x處理過得圖片相比較1080p原圖還是有不少提升的。

第四步 Adobe Media Encoder

現在要做的事就是把waifu2x處理好的圖像拼回原本的視頻。這裏再次用到Adobe Media Encoder。

在打開的選擇框中勾選png序列,就可以一次想將所有圖像全部導入。然後格式依舊選擇h.264,預設選擇匹配源之後將幀速率改爲23.976(一般動畫都是這個幀率)。其他的設置不需要調整,直接開始渲染即可。
這一步並不推薦使用CUDA加速,因爲一些玄學的原因,據說CUDA編碼h.264會影響畫質。

第五步 重新打包mkv

使用第一步中提到過的工具,MKVToolNix。不過這次不再是用解封程序,而是使用封裝程序。將第一步中解封出來的flac文件和第四部中AME導出的視頻文件放入,並取消勾選AME導出的MP4視頻中自帶的一條aac格式空白音軌。然後轉到輸出選項卡,在章節文件的地方選擇第一步導出的xml文件,選擇開始即可。

成品


待更新:使用ffmpeg取代AME的解決方案。

Creative Commons License
This page is available under the CC BY-NC-ND 4.0 License.

Link to this article: https://www.misaka-mc.tokyo/2016/08/16/Anime-4k-Project/