HEVC的優點應該大家都很清楚了

小弟使用i7 [email protected] + 660ti 轉HEVC

品質設定MEDIUM 大概落在 10fps/s 的速率

若設定在SLOW 大概剩下 2~3fps/s

小弟比較愚昧都使用比較傻瓜的轉檔軟體 (WinX HD / VidCoder / Pavtube)

當然設定細節比較有限

想先請教些問題

1.在編碼器設定上 FAST/MEDIUM/SLOW 有什麼差異?
(難道就只是慢工出細活的原理? PS.以前H264這麼快所以都不用考慮所有Quality都設定到最高,現在反倒不知道差別為何)

2.而編碼器設定與流量之間的關係如何?
(比如說設定SLOW/1000kbps和MEDIUM/1400kbps會轉出其實類似品質的影像檔,但時間上MEDIUM可以花得比較少,當然相對犧牲的就是檔案大小)

------------------------------------

另有關速度/效率方面應該就落在GPU/CPU,故想請教

3.顯示卡部分 DXVA Checker 裏頭的 HEVC_VLD_MAIN

請問這個是代表解碼與"編碼"都支援嗎?

想當初H264蹦出來時就算CPU硬幹好像也沒這麼慢

另外從Geforce 2XX開始就有CUDA從此H264就用飛的,畫質不佳即使把流量拉大時間上都還算很有效率

但似乎CUDA這技術跟著顯示卡發展上去速度倒是沒有很明顯的編碼cp值

所以請問顯示卡也有幫忙做HEVC轉檔加速嗎?

而且網路也找不到有關HEVC Encoding方面的顯示卡比較圖,不管是timing or benchmark

如果成立,是否代表如H264一樣,就算換成GTX960以上也不會變快

如果不成立,是否只是代表現在沒有以前如CUDA/NVENC的技術去支援HEVC的硬體加速運算
(不知是否軟體還未寫出支援,或是顯示卡商未來可以名目開發新加速技術賺硬體財)

4.CPU部分

首先先看這張CPU與編碼HEVC的fps/sec比較圖

X265 / HEVC 轉檔問題討論請益

可以看到幾乎要i7 5820k這種6 cores的CPU以上才幾乎達到1:1的轉換率

如果3.中顯示卡部分問題中的成立 是不是代表這就是HEVC目前編碼的極限

如果3.中顯示卡部分問題中的不成立 是否就是等新技術來看是否有突破現狀編碼效率可能
(也就是如果只在乎轉檔效率則目前市售顯示卡現在完全不用考慮投資)

------------------------------------

問題對高手來說可能有點蠢,不過希望各位大大煩請解答,謝謝~
NVIDIA的顯卡就是NVENC

不過以前有玩過,畫質說真的蠻爛的,只要你想省時間,結果根本就是浪費時間,因為轉出來的品質可能不能見人

CPU轉還是最好
我用handbreak i7 3770s 轉 1080p Bluray 120分鐘的電影大約要4-5小時 (10-15 fps/sec). Nvidia GTX960 支援H.265 硬體 encode, 用 ffmpeg fps/sec 最高可到120, 影像品質也不錯(至少我看不出和用cpu轉碼有不同). ffmpeg 功能強大, 但要支援Nvidia NVEC encode 的選項, 自己要下載source code在Linux (Ubuntu) compile出Windows x64的program. Google一下就可找到有人已列出每個步驟.
kelvintung wrote:
1.在編碼器設定上 FAST/MEDIUM/SLOW 有什麼差異?
(難道就只是慢工出細活的原理? PS.以前H264這麼快所以都不用考慮所有Quality都設定到最高,現在反倒不知道差別為何)

2.而編碼器設定與流量之間的關係如何?
(比如說設定SLOW/1000kbps和MEDIUM/1400kbps會轉出其實類似品質的影像檔,但時間上MEDIUM可以花得比較少,當然相對犧牲的就是檔案大小)
...(恕刪)

關鍵因素之一是視訊壓縮過程的重頭戲:位移估計(Motion Estimation)所採用演算法的計算複雜度,簡單來說,所謂位移估計就是如果目前這張要被壓縮的畫面內的某個區塊,在其他前後參考畫面已經存在有近似區塊,那壓縮時就只要儲存參考畫面的編號及區塊的相對位移向量,解壓縮時則整塊從參考畫面貼過來就好。觀念很簡單,但實際上要跟參考畫面進行比對,不是那麼容易的事,一方面是區塊大小要訂多大?另一方面是參考畫面在H.264/HEVC等國際標準中也容許有許多張,再一方面是還得決定從參考畫面何處找起。

最費時間的就是全域搜尋,就是將所有參考畫面內的每一個可能處都找過,因此壓縮效率最好,但時間得花非常久,因應而生的就是許多的快速位移估計演算法,時間相對少得多,但快的代價就是找到的可能不是最佳解,因此檔案變大,或是在限定位元率上限的情況下,壓出來的品質會遜於全域搜尋的品質。

kelvintung wrote:
------------------------------------
另有關速度/效率方面應該就落在GPU/CPU,故想請教

3.顯示卡部分 DXVA Checker 裏頭的 HEVC_VLD_MAIN

請問這個是代表解碼與"編碼"都支援嗎?
...(恕刪)

是單指解碼。

kelvintung wrote:
想當初H264蹦出來時就算CPU硬幹好像也沒這麼慢
另外從Geforce 2XX開始就有CUDA從此H264就用飛的,畫質不佳即使把流量拉大時間上都還算很有效率
但似乎CUDA這技術跟著顯示卡發展上去速度倒是沒有很明顯的編碼cp值
所以請問顯示卡也有幫忙做HEVC轉檔加速嗎?
...(恕刪)

有的,Nvidia Maxwell 2(GTX 950/960/970/980/980 Ti/Titan X)家族獨顯的NVEnc單元,跟Intel Skylake內顯的Quick Sync Video單元,可支援硬體的HEVC編碼;CUDA只是個程式介面,讓程式運行在GPU上頭,實際在進行轉檔的是運行在GPU上的轉檔軟體程式,不是CUDA本身,我個人當它是軟體轉檔的一種,由於缺乏廠商或程式高手群持續撰寫維護高品質的CUDA轉檔程式,因此品質沒進步。

kelvintung wrote:
而且網路也找不到有關HEVC Encoding方面的顯示卡比較圖,不管是timing or benchmark
...(恕刪)

下面這個連結有x264(軟轉)、x265(軟轉)、QSV H.264(硬轉)、QSV HEVC(硬轉)轉檔的速度跟截圖比較品質,不過單看幾張截圖比較的意義不大就是了,轉檔速度fps可以參考一下。

http://rigaya34589.blog135.fc2.com/blog-entry-673.html


我個人是用i7-4810MQ + GTX 860M的筆電,因此系統內有Intel QSV,也有Nvidia NVEnc,轉檔時,常常是用Handbrake(支援QSV硬轉)跟MediaCoder(支援NVENC硬轉)雙管齊下,各自分擔一半數量的檔案,不但轉檔時間還可以較僅僅使用QSV或NVEnc其中之一再縮短,處理器也可以游刃有餘,筆電照樣做其他的工作。

不過i7-4810MQ的QSV跟GTX 860M的NVEnc,都屬於前代產品,都不支援HEVC硬體編碼,因此我就沒法兒試HEVC硬體轉檔了,但手邊有Skylake處理器或是Nvidia GTX 950/960/970/980/980 Ti/Titan X獨顯的網友,倒是不妨試一試。
Whistle Blow wrote:
其中因素之一是Motion...(恕刪)


W大你這真是發揮硬體效率的好方法耶,所以看來您應該目前還是是轉H264為主

另外看到使用QSV轉HEVC的效率真的是傻眼...(幾乎10x以上 幾乎解決了HEVC難題)

看來INTEL SKYLAKE對於X265/HEVC轉檔來說真的是非常值得投資

原來GTX 950/960/970/980/980 Ti/Titan X都支援硬轉HEVC (我以為960獨有)

所以是否上述只有GTX 960同時支援HEVC 10bit解碼與編碼,其他都只有8bit(包含解碼編碼)

還是只要是可以解碼 就沒有支援幾bit的問題?(只有解碼有差? 整個有點混亂)

另外不知道您說的這些N社卡硬轉HEVC,不知道品質如何?與QSV何者更好?
(是否維持NVIDIA一貫的慘不忍睹)

若是這樣 真的沒玩遊戲只轉檔 現階段幾乎可以不用投資在顯卡上了。

SKYLAKE CPU使用QSV硬解才是決定目前X265/HEVC轉檔中的C/P和最有效率的解決方案。

不知道這樣的解讀是否正確

另外先謝謝各位幫忙解答~
kelvintung wrote:
所以是否上述只有GTX 960同時支援HEVC 10bit解碼與編碼,其他都只有8bit(包含解碼編碼)

還是只要是可以解碼 就沒有支援幾bit的問題?(只有解碼有差? 整個有點混亂)

另外不知道您說的這些N社卡硬轉HEVC,不知道品質如何?與QSV何者更好?
(是否維持NVIDIA一貫的慘不忍睹)
...(恕刪)

GTX 950/960支援4K HEVC 8-bit/10-bit硬體解碼,GTX Titan/980 Ti/980/970則是支援4K HEVC 8-bit混合硬解,目前看到的資料,它們的HEVC硬體編碼能力都是8-bit;Intel Skylake支援4K HEVC 8-bit硬解/10-bit混合硬解,QSV的HEVC硬體編碼部分,目前也是8-bit。

總結一下:

編碼部分,4K HEVC 8-bit硬體編碼目前就只Nvidia Maxwell 2家族獨顯跟Intel Skylake內顯有提供,4K HEVC 10-bit硬體編碼則尚未有顯卡提供。[2018更新] Intel Kaby Lake的QSV以及Nvidia Pascal的NVENC,可支援HEVC Main10的硬體編碼。

解碼部分,各家獨顯/內顯的H.264/HEVC 4K硬體解碼/混合硬解能力如下連結所列:
http://www.mobile01.com/topicdetail.php?f=296&t=4717033&p=1#59280284

GTX 860M的NVEnc是第二代,轉H.264的品質,個人可以接受,比起Kepler的第一代NVEnc,應該是進步了。

Intel QSV品質也是進化中,我自己從i7-2640M(Sandy Bridge)筆電的一代QSV拿來湊合玩玩,到i7-3612QM(Ivy Bridge)筆電的二代QSV可用於部分實用,再到目前i7-4810MQ(Haswell)的三代QSV品質足敷使用,不過Skylake我確實就沒用過了,應有持續進步。GTX 950/960/970/980/980 Ti/Titan X的NVEnc是第三代,除了加入4K HEVC編碼外,其他應也有改進,不過我也還無緣一試,除非再換筆電.....

基本來說, 用CPU做H.265實在是太慢. 一部兩小時的電影 i7 CPU的電腦用Handbreak預設值要全速跑將近5小時. 但用ffmpeg搭上GTX 960, 只要30分鐘. 而且編碼品質我還真的看不太出來有大的差異. 如果不玩Game, GTX 950 就可. 至於Inte的QSV因為沒Skylake, 無法比較.

貼上在 OSX 10.11.3 VLC player 的截圖以供比較.

原始H.264 1080p https://lh3.googleusercontent.com/aPsvFUV51BcZkUI-K22uxJiu8wiJBw61OfvB1xB0gRh7-peKM3G690HANyrGxxdMIgrB9FIlhXECgOxtHr25LBjQ3TkEjHKDSKlfbovVjF7HtZXuBoi92KVDKuUKMczMLcdvDNXWiBRbxGYGHSf5QAORauO0tQBBhKazlJuvsIy9rePcnaoDBwVq_LjECfa0R7XVKje52bDiAaOqT2iH-EmNkH4HD-FyaDSvVbjXSYzQJdf8wE0SPtagBEJgdMx7WoxrQBSvOgnLFiEv1fy0ghiqg8EmVEdU5A1iesc8sNae7c8d8DgpuHAkF6fJfmyiPlNSACzzBAoo5-pa46kzQAJGt4CJVAmPZ9vpVBErM0bfEkeVri-3HfjjaXWYzTmkZ40zxhlAZQCmPUk5XTcPgvR7TGu3ad1WGsjV3A9xGc1w4pXQTH-PEwW5dSoeP-r6sitt1zcExQRp48pYqMQib35HJqpyAn6z-ejtEMpgvFKdoh20A2WPZDQ6HDP826lHtP99S1Nj9fplMl7Gvt48o_jK93rcOOs0wh_ZRqjwe68O-edzc2UpKHHrksJxU06Koj-K=w1845-h774-no 

用Handbreak H.265 軟體編碼 fps約為 10/sec. https://lh3.googleusercontent.com/yTeER3ckHTAf5c1eMlCI4RKrTIVa4PF86g1QFKFI_bAT8i2D-HrnBvfeDhyJuDTBB9E_8AkkcECIQcAoRZT3T-2-Nhu21hpzZ-I7bwlfWKrD1HvVAzs7DmvVLj1n4Tx4lgn5DF3yckX6xMt2Aivt-nu06OTXNxvY4CUn2yNMcoh_s2RlboIXqWQHobD0qrc4pnhGaC3ErCZqAB0TqNkQec5_JaFa7YDiXFEA7U76v4AmXhkx_taJ5YD-oHM0JNSV8Lppk6-yPNvshEOhQUoT8c54stT35aWiVDamPC7RFdG70rW7pjkoiOAfk4th7cGq2bmifGBdl_NyeDp1t4Y2HCEMWSsYU_e1p8-A6cR5t69naWHBe575JJh1tMlXk5smU12ZbrWUw-Q6GrxVgnL90EzivLSnATzzocMUJl37QSDnn1Ryqg5YoK2PL5APlnqWc22J4Xym-q7QEo5jN3iYEyyMSOFekkSKgLa4G30S8740O1R7nHhfNowTHQLCxTgBgB3sudqyIwoQCu1c-uBNkCUx-MACiTE4JsLsI6MEij5syyqzc5Q25Y5_p25xKM5KLy0B=w1845-h776-no

用 ffmpeg GTX 960 H.265 硬體編碼. https://lh3.googleusercontent.com/mSZP_-Hp-h-9phsX23kRx2N-BeJiA_h5OLDQrlApDvwHi6C_prZ_4hb3kfTfGFM5PPS35lwKDg6X8ygtkS265WgnEh-ak-TQzOXvDVbsU1p7IkcJK462SEsuvmqFETxrGXR21a3tNZ09-8802irrRQhEkh6-2b8aef17QNuecXIyTl1UnfjrP1rKVTIDb7wKjyUJXaDSMJVhXZXbNNIf5C8MyccQw61oiNAM_pAmuGYNHyAqlHIETMCIzwKk7vuzGPHNbSiRduAP8EcApz37RHQivUjBHdfFfqRJzZ3hQeIThhBUFhdc-U_phJmtPLX_xN3TTlAc6m1fWXUv4pQQ-RPnxEmRyPY2fkSlNe3GyMTbx-49AiYL1HiqOJZAcSeieAzIto7yMz4IYvmOV2pvIKcySwx5IffIZq-l3Sb_atNzQfhjh_wtAwEy7j_NjpJ1v0BeOvMb5h9rJ-Dqbcc95HUYU6QmIwQXtyUXnSVR1OrjIcc9bx9NNGeZoVfo6fMBSZ6kPaYO6gzaC5UbbiDt0MXjVmDgisIgKOXWAAG3SQr-d39rZ8ffhIAAQ-Rq1UMqt4dZ=w1845-h779-no
Tim wrote:
基本來說, 用CPU...(恕刪)


謝謝W大的連結圖表以及Tim大的測試圖

而目前看來尚無skylake QSV和Nvidia 950/960與CPU直轉HEVC的3者直接比較

事實上這些硬體都已經出一陣了,其實看的出國外google資源也不太好找到資料

以及即便連Nvidia要使用硬轉還這麼難以親近使用

可以看出軟體目前支援度還尚差的階段以及CPU因效能相近升級造成斷層,導致玩家不多

或許要等行動裝置大舉支援並普及後,之後在軟體開發上才會比較有顯著的成長

若考慮進4K與10bit 等待下一代CPU/GPU 可能才是長遠上避免迅速淘汰最好的時機切入點

屆時軟體應該也相對成熟


謝謝大大們解盲點~
目前我會要把 H.264 1080p的電影轉成H.265最大的目的, 是要節省硬碟空間. 但說實在的, 在一般消費者的市場, H.265編碼的需求應該遠比解碼來得低. 真的有需要, 那就要花大錢買專業用的. 不然就如同樓主所言, 得等H.265普及到像H.264一樣, 連低階的CPU都可編碼與解碼. 那時軟體支援度也會比現在完整.
我經驗是linux 上用FFMPEG 用獨顯 980TI

轉檔 H.264 & H.265

最多只能同時2 thread 在跑 而且顯卡RAM 只用很少 所以沒有必要買高階顯卡 .

而已 轉h.265 品質跟H.264 跟本不能用....

我是開發 用在電視台使用
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!