轉自  http://blog.yam.com/testing321/article/18595669

 

 

嗯......
以前曾經寫過這篇文章

FLV encode教學 (採用ニコニコ動画及On2 VP6為例)

當時,niconico算是比較早提供高畫質服務的影片網站吧
而且應該是首個支援畫質優良,且檔案輕量的VP6(FLV4)
所以寫了篇教學分享文

但是隨著科技進步,
現在 ニコニコ動画已經支援壓縮率/畫面表現更好,
而且在低流量時表現更佳的 x264 壓縮規格了


最近,因為又想要上傳東西了XD 所以才開始研究了一下x264的東東
不研究還好,一研究就驚為天人!!
x264這個真的太強了!VP6根本是被打得滿地找牙啊(倒

x264除了用來傳ニコニコ之外,PSP也支援讀取x264規格之MP4,
另外,最近也已經越來越多的職人分享都改用x264了
所以想來寫篇簡單的導入跟壓縮教學

まぁ、其實NICO支援x264已經一段時間了,
而且原先是只有付費會員才可以上傳x264規格之影片
但是過了一陣子之後,nico就已經全面開放一般會員也可上傳了

研究之後,發現x264的製作手續,其實比VP6FLV還要更簡單輕鬆啊冏!


首先,幾個要點 (跟之前γ時代比有些可能有變)
 1:nico標準的解析度 是512*384 (4:3) 但是也支援 16:9 模式 (512*288)(註1)
 2:mp4(x264),檔案大小限制與FLV同為40MB,總合流量為600kbps,
         但付費會員上限為800kbps (註2)
 3:後半順便附上迴避エコノミーモード(低畫質模式)的計算方式

        註1:似乎最大可支援800*600(不會被重新壓縮的範圍),
                但是預設解析度是512*384,使用者若不手動放大也看不出什麼差別
                反而可能會因為流量的限制,導致畫質下降的可能!!
                16:9模式的話,寬度限制應該是一樣的,所以高度就縮小了。

        註2:計算方式一樣是影像+聲音合計,最大值有容許誤差範圍


        補註:在寫完的幾天後,ニコ就改版成ββ了 冏…
                  付費會員的檔案上限變成100MB
                  流量上限也升到1Mbps




接下來介紹幾個會使用到的軟體 (註3)

 1:老面孔,AviUtl (可以去找最新版來用,目前最新版是0.99g 版)
 2:Nero的AAC codec
 3:x264gui (有志者開發的x264 encoder的gui版,可與AviUtl搭配非常好用!)
 4:Lanczos 3-lobed (AviUtl的縮放用外掛)

        註3:AviUtl解壓縮完後,請將
                2 的 win32資料夾內的 neroAacEnc.exe 及
                3 的 x264gui.auo 與 x264gui.ini 及
                4 的 lanczos3.auf 放進AviUtl資料夾內
                若在使用上有問題,可能需要安裝 VC2008 runtime 及.NET Framework

然後就可以啟動了
看看起動畫面吧~


AviUtl 0.99g 版

 


超重點 x264 plugin有正常導入後會有這個選項

 


1 是裁切用的 (感覺就像吐司切邊?)
2 是縮放大小用的
兩個都可以參照鎖定長寬比,使用很方便

 


x264 gui的畫面
可以設定的東西 非常多
這個plugin 可以自動幫我們做多重pass(1+2+...)
也就是說們不用自己手動壓兩次了 Wryyyyyyyy
而且連聲音都一起幫我們做XD




超簡單壓縮手續開始了…

1:使用AviUtl 讀入檔案
2:設定縮放為512*384,還有裁切長寬 (裁切看需要 不一定要做)
3:點擊上圖的 プラグイン出力→ 拡張x264出力
4:點左下的ビデオ圧縮
5:設定好マルチパス-Nth PASS 然後 勾選自動マルチパス pass數設定為 2
     再設定聲音部份為NeroAACエンコーダ(需指定EXE位置),及流量
     記得影+音流量合計不要超過600kbps(或800kbps),還有檔案大小不要超過40MB
     按下OK
6:設定檔名→輸出→睡覺,醒來時 熱騰騰(CPU溫度的意味)的MP4檔案就好了(喂)

一些插件的設定方式,可以參考文首的FLV教學那篇,
裡面有圖文,其實設定方式幾乎都一樣


エコノミー回避方式與畫質的取捨
好不容易壓好的美美的影片,被NICO重壓成經濟模式時
那種低畫質+抖動的情況真的會讓人想吐血
(似乎是用1PASS + CBR + 聲音64kbps的壓縮設定,大概連品質設定都是最低吧 冏!)

nico設定觸發低畫質模式的規定是,超過1000pv(點閱)數 + 影音秒流量在300kbps以上 者
註1:一樣有誤差容許值 300~310間
註2:mp4影片的限制似乎與flv不一樣,flv統一是300kbps ,
但mp4在付費會員部份似乎是240kbps,而一般似乎還是300kbps,
正確情報及有沒有其他特別限制則不太清楚


若是聲音設成128kbps,這樣的話影片的流量就只剩167kbps左右了,
這限制其實非常緊啊…
若是vp6FLV4來說,一般的2D動畫類影片,
若是設在167左右的話,其實格子已經跑出來了
畫面已經不能算是好看了

於是我們有幾種解決方案
1:將畫面長寬等比縮小,流量不變 → 些微的幫助,但是非常難取捨
2:降低音聲流量,提高影片流量 → 效果不錯,如果不是音樂專門的影片的話,其實64k mono MP3 都可以達到不錯的效果
3:改用x264 + AAC → 搭配上壓縮時的設定,加上x264在低流量時的表現,以時間及效能換視聽效果!!


以我本身上傳的影片來說,32分鐘遊戲影片,
雖然會因為40MB限制的關係不得不降低流量
但是在視覺效果上,還算很不錯的,而且重點是不會被再壓縮成低畫質模式!!

我的設定如下
preset選高畫質模式(nico),
n= 2pass,
影片流量從120~160都有(依總長度24~32分左右),
音聲設定是AAC HE 56Kbps
以preset的方式讀取設定的話,會自動開啟動態偵測,
這對於影片的動態畫面補正有非常好的效果

秒流量加起來頂多才200+,畫質也不錯看,絕對不會掉進付費會員的陷阱之中(喂)


衝啊!! 我的Phenom !!
看到CPU被吃到滿有股快感(炸)


其實在高畫質preset之上,還有所謂的 超畫質 模式
開了8*8動態補償計算及離散cos轉換
動態預測也開到滿了 (轟)

壓縮時間也是超級的 慢..........
以高畫質模式來說
30分鐘的影片 我要花40分鐘左右做完(1+2 pass + aac +mux動作 整個完成)
超畫質可能需要一~兩小時以上,畫質差多少合不合算,這就見人見智了…

參考
我的配備是
AMD Phemon HD9550
ATI HD3870
4G的RAM(只抓到3.XG)
基本上,因為多核的關係,轉檔時做其他的事並不會感到LAG
(當然,打GAME或是看高解析影片類除外XD)




後註
 1:檔案大小的計算方式,以不超過40MB為準,建議取影片及聲音的平衡性
        依影片訴求的不同,著重的點也不一樣
        (長時間音樂影片/精美的MAD/長時間實況動畫/動畫本篇 等等的)
        而且也不一定把流量/FPS衝高就是好的,
        因為x264吃的解壓縮效能資源消耗並不低,
        若是電腦速度比較慢的user 開起來大概會想哭


 2:客觀的畫質標竿 SSIM 及 PSNR 值
        基本上來說,SSIM如果是高於0.97就是很不錯的了,高於0.98就算是非常棒,
        若是低於0.95的話…嗯…看看能不能再調一些設定讓他更高吧
        但,這也只是客觀的一個參考,實際觀感還是需要人眼來看才是最好的


PSNR(峰值信噪比)

SSIM (中文翻譯不明 冏)
 



附上好用的輔助檔案計算網頁

ニコ動用 檔案SIZE計算
會自動幫你依時間長短計算生成時檔案小於40MB的最高影片流量值



主要教學參考來源:

普通ダイアリ

【エンコード講座】第4回 ニコニコ動画編 エコノミー回避しよう!~とりあえずやってみる


資料網站:
詳細的教學
http://nicowiki.com/aviutl_h264.html
AVIUTL PLUGINS
http://www40.atwiki.jp/aviutl41991/
2CH AVIUTL討論串
http://pc11.2ch.net/test/read.cgi/software/1227150847/
高流量/FPS 對解壓時的影響
http://blog.livedoor.jp/tobinaka/archives/1157978.html
低畫質魔咒
http://valencia1094.blog28.fc2.com/blog-entry-27.html

 

on0216 發表在 痞客邦 PIXNET 留言(0) 人氣()