Re: [請問] 硬體加速編碼解決方案
看板AVEncode (影音編碼技術)作者YouCantGetME (高級攻城師)時間2月前 (2024/10/11 13:00)推噓3(3推 0噓 3→)留言6則, 2人參與討論串3/3 (看更多)
: 推 JKGOOD: 感謝Y神 10/10 07:54
: 推 JKGOOD: 如果NVENC畫質輸x264 veryslow,那我可能會用CPU去編了 10/11 08:3
官方宣稱贏x264 faster/medium
我"個人"覺得在1080p 5Mbps上下 NVENC是抹得好看 細節丟的合理
x264細節還是留太多 畫面變化容易碎掉/馬賽克
流量超過15Mbps 非商用我絕對選NVENC 時間電費差太多
用x264慢慢磨也沒好到值得這差距
5Mbps以下就值得掙扎一下 尤其NVENC對於大場景變動會壓不住流量
當encoder Q>51時會放棄流量限制 給5Mbps 爆量到20Mbps之類的
用電視白雜訊畫面可以復現這種狀況
某些應用不允許這種情況
至於x264 veryslow是真的veryslow耶 這種匠人活留給字幕組去磨就好
: → JKGOOD: 一般我的碼率設定在1080P 6Mbps AVC,4K 20Mbps HEVC 10/11 08:34
: 推 JKGOOD: 軟體的話是使用德國免費老牌Xmedia Recode,作者蠻勤勞更 10/11 08:37
: → JKGOOD: 新ffmpeg和codec的 10/11 08:37
試了一下 decode跟process都是用CPU處理
如果塞HEVC用CPU軟解那結果可想而知
建議開工作管理員切GPU頁看軟體怎麼用CUDA解碼/編碼
環境
12700k+4090
須注意NVENC/NVDEC是獨立區塊 與GPU能力無關
4050與4090解碼編碼速度跟內容會完全一樣
除4070以上NVENC變為兩顆 單檔用不到第二顆 要多檔同時才會變兩倍效能
來源4K 55Mbps 10bit HEVC
輸出1080 2.5Mbps 8bit AVC
Xmedia Recode
輸出 NVENC MP4
轉換率1x 25fps CPU 100% GPU NVDEC 0% NVENC 1%
很明顯瓶頸在解碼
vs
ffmpeg NVDEC解碼 CUDA縮放 NVENC編碼
全部在GPU上處理
nvdec+scale_cuda+nvenc
ffmpeg -y -hwaccel_device 0 -hwaccel cuda -hwaccel_output_format cuda -i
input -vf "scale_cuda=-1:1080:format=yuv420p" -c:v h264_nvenc -b:v 2.5M output
轉換率10x 255fps CPU 5% GPU NVDEC 100% NVENC 30%
或是補個-preset slow
轉換率6x 150fps CPU 3% GPU NVDEC 40% NVENC 40%
用NVDEC解碼+CUDA的影像處理 如縮放 再接libx264慢慢磨也可以
當然這個方式只適用純轉碼不碰內容微調或修改
要用ffmpeg做編輯跟驗證加除錯 花的時間用任何軟體轉都不知道轉幾隻了
還不算上搭配硬體加速後要注意內部流程格式
比較龜毛/安全/太閒的玩法有每個步驟拆開來跑 一步一步微調
省重複轉換時間 減少相容性問題 但用raw當中繼...
我覺得開源方案不支援硬體解碼很正常 因為編碼是收斂可控 只有一條路
呼叫CUDA從系統記憶體搬raw去編碼 回傳位元流 儲存 收工
CUDA解碼後在GPU記憶體上 除了CUDA功能(eg. h264_nvenc)外是不能直接使用的
需要從GPU記憶體搬回系統記憶體才能再套其他傳統濾鏡跟編碼器
所以流程會產生多個分支跟n個問題
基於各種開源方案沒辦法像商業軟體控制內部變因要硬上就會變災難大集合
開源不上github讓有經驗的人做回報跟狀況整理很難搞
很多corner case作者沒精力處理
但issue那邊會有神人回報跟提供workaround
Adobe會呼叫硬體解碼 處理HEVC來源絕對比1倍快
ffmpeg硬體加速參考
https://trac.ffmpeg.org/wiki/HWAccelIntro
https://docs.nvidia.com/video-technologies/video-codec-sdk/12.0/ffmpeg-
with-nvidia-gpu/index.html
https://stackoverflow.com/questions/52029461/impossible-to-convert-between
-the-formats-supported-by-the-filter-error
--
◤ ◥ ◢ ◣
傑米,炸掉它吧。 ⊙▁⊙─ ─⊙▂⊙ 碰到問題,用C4就對了!
╰ ∕皿﹨ ◥皿◤ ╯
◥█◤◢ ◥ ︶◤
Adam Savage ◤ ︶ ◥◤ ﹨▼∕◥ James Hyneman
MYTHBUSTERS ◥ ◤\◥ by dajidali
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.228.92.1 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AVEncode/M.1728622825.A.795.html
※ 編輯: YouCantGetME (125.228.92.1 臺灣), 10/11/2024 13:23:48
推
10/12 07:57,
2月前
, 1F
10/12 07:57, 1F
推
10/13 04:49,
2月前
, 2F
10/13 04:49, 2F
→
10/13 04:50,
2月前
, 3F
10/13 04:50, 3F
推
10/13 08:07,
2月前
, 4F
10/13 08:07, 4F
→
10/13 08:07,
2月前
, 5F
10/13 08:07, 5F
→
10/13 16:11,
2月前
, 6F
10/13 16:11, 6F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
1
1
AVEncode 近期熱門文章
PTT數位生活區 即時熱門文章