Re: [請問] 硬體加速編碼解決方案

看板AVEncode (影音編碼技術)作者 (高級攻城師)時間2月前 (2024/10/11 13:00), 2月前編輯推噓3(303)
留言6則, 2人參與, 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
感謝Y大 感激不盡,學習中
10/12 07:57, 1F

10/13 04:49, 2月前 , 2F
如果選CPU解碼再給NVENC編碼效率或品質會不會更好?
10/13 04:49, 2F

10/13 04:50, 2月前 , 3F
還是解碼NVDEC編碼NVENC?Y大會建議哪種?謝謝
10/13 04:50, 3F

10/13 08:07, 2月前 , 4F
我講錯了是NVDEC解碼然後CPU編,我測試轉檔時,解碼佔用NV
10/13 08:07, 4F

10/13 08:07, 2月前 , 5F
DECODE15%,CPU 50%
10/13 08:07, 5F

10/13 16:11, 2月前 , 6F
目標10Mbps以上 preset比slow快都給nvnec編就好吧
10/13 16:11, 6F
文章代碼(AID): #1d2B3fUL (AVEncode)
文章代碼(AID): #1d2B3fUL (AVEncode)