我來說說CUDA 轉碼為啥不受人待見

2021-05-27 14:45:12 字數 963 閱讀 5049

原因1、業界用免費x264.exe習慣了。

直到目前,x264.exe依舊是大勢所趨,地位崇高,因為x264.exe除了慢沒有缺點。其實也不慢,轉rmvb等其他格式也是一樣慢。cuda轉碼軟體中免費的只有media coder稍好點,但是。。。

原因2、不支援預訂位元速率。

據我所知,免費版的media coder只支援const quality,不支援預訂位元速率。預訂位元速率可以讓你獲得你期望的檔案大小,不支援這點很囧。

原因3、畫質不好。

我曾今試驗過,x264 2pass @ 1000kbps 基本等同於 cuda @ 2000kbps,也就是說,同大小下,cuda的畫質根本不是x264的對手。有些人說目測無區別,但是在習慣和1080p打交道的人眼裡,哪怕頭髮的邊緣出現一兩個噪點都是區別。畫質不好的原因請看原因4:

原因4:支援引數慘不忍睹的少:

1、cuda不支援自定義cabac

2、cuda不支援自定義b幀數量、b-bias、b-pyramids,要知道b幀的引入是x264效率的靈魂;

3、cuda不支援自定義chroma me,導致cuda對於高速運動畫面的處理慘不忍睹;

4、諸如量化細節之類的引數,統統沒有。

5、基本只能自定義level。。。

為什麼cuda的編碼器跟x264差別如此大?請看原因5:

原因5:

這是沒辦法的事情。因為顯示卡的結構和cpu不同。cpu的分支**要強於顯示卡好多好多。而且此類軟體資料吞吐量很大,要用到快取、記憶體之處比比皆是,但是要想程式設計師來利用gpu裡面的暫存器、快取、視訊記憶體、記憶體來程式設計,程式設計難度實在太大,儘管nv頻頻更新sdk,但是研究新sdk、api的難度無異於學習一門新的語言。目前要根據nv cuda 或者 opencl寫壓縮軟體很難,加上gpu先天不足使得理論上cuda畫質完敗x264,程式設計師沒有為cuda開發強大的x264編碼器的熱情。

為啥說cuda適合做移動裝置轉碼?

答案:再渣的畫質上了psp那種小螢幕也就無所謂了。

我也來說說多核

究竟普通開發者是否需要面對多核,這個問題在很多地方都在討論。很多人都認為不需要,這樣說是基於過去幾年的經驗,認為目前的一般應用單核高速cpu已經足以應付,今後也沒有新的重要應用驅動我們使用多核cpu,多核cpu要麼是廠商狗急跳牆,要麼是僅供科研計算,謝絕參觀。看完myan的這篇,我也來說說 說多核無...

我也來說說TIME WAIT狀態

乙個兄弟問到,自個用go寫了乙個簡略的http效勞端程式,為什麼壓測的時分效勞端會呈現一段時刻的time wait超高的狀況,致使壓測的效果不好呢?記住老王有兩篇文章專門說這個,當時粗粗看了一遍,恰好碰上這個疑問,又翻出來細細摟了。第乙個要弄懂的,是time wait是怎樣發生的。要弄懂time w...

我來說說C 的類

類class 基礎知識 一 c 類的定義方法 class classname 類似結構體的定義,類的定義也必須是以分號 作為結束標誌。訪問許可權說明 有public private 和protected 三種訪問許可權,且一般乙個類裡會含有兩種訪問許可權說明,一是必須有 public 而另乙個是 p...