日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

硬件視頻加速(Hardware video acceleration)

通過讓顯卡編解碼視頻,從而減輕cpu負擔并且還能節省電源。

當視頻內容存儲在硬盤、dvd、攝像機、手機或廣播媒體上時,通常會被壓縮并編碼成特定的格式。當你想要播放、上傳或復制內容到你的手機時,必須先對其進行解碼,然后再以一種新的格式重新編碼,這是一個耗費資源和時間的過程。硬件視頻加速技術通過讓顯示卡來快速解碼,使處理器能夠完成其他任務,提高系統響應能力。

在linux上的幾種實現:

Video Acceleration API (VAAPI)英特爾開發的規范和開源庫,提供硬件加速視頻的編/解碼。
Video Decode and Presentation API for Unix (VDPAU)是一套NVIDIA開發的,用于將部分視頻解碼和渲染分擔給GPU來處理的開源庫和API。

NVDECODE/NVENCODENVIDIA Fermi, Kepler, Maxwell and Pascal系列顯卡專有的硬件加速API

intel 硬件加速技術

intel 的開源媒體棧

MSDK : https://github.com/Intel-Media-SDK/MediaSDK
Libva : https://github.com/intel/libva
i965 driver : ?https://github.com/intel/intel-vaapi-driver
iHD driver : ?https://github.com/intel/media-driver

VA-API

開源驅動:

AMD: 位于官方軟件倉庫的libva-vdpau-driver和mesa兩者為 Radeon 9500 或更新的GPU提供支持。
Intel: 位于官方軟件倉庫的libva-intel-driver軟件包為 GMA 4500 系列或者更新的GPU提供支持。
NVIDIA: 位于官方軟件倉庫的libva-vdpau-driver和mesa兩者為 GeForce 8 系列和更新的GPU提供支持。位于AUR的 nouveau-fwAUR 軟件包包含從NVIDIA閉源驅動中提取出的必要的固件文件。

閉源驅動:

AMD: 位于AUR的libva-xvba-driverAUR[broken link: archived in aur-mirror]軟件包為 Radeon HD 4000 系列或更新的GPU提供支持。在 Radeon HD 5000 系列或者更新的GPU上請使用 catalyst-utilsAUR 驅動;在 Radeon HD 4000 系列上使用 catalyst-total-hd234kAUR 作為驅動程序。
NVIDIA: 位于官方軟件倉庫的libva-vdpau-driver軟件包和nvidia-utils驅動為 GeForce 8 系列或更新的GPU提供支持。

intel 依賴libva-intel-driver

AMD 依賴libva-mesa-driver)

安裝

以前整理過ubuntu下的簡潔安裝記錄:
linux 下 intel vaapi安裝

主要是安裝media-driver及其依賴庫。

檢驗 VA-API
運行 libva-utils 包提供的 vainfo工具 來檢查 VA-API 的設置

$ vainfo
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.7.3
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice

樣例

ffmpeg vaapi h264加速樣例,其他ffmpeg wiki還有很多。

$ ffmpeg -threads 1 -i file.ext -vaapi_device  /dev/dri/renderD128 -vcodec h264_vaapi -vf format='nv12|vaapi,hwupload' output.mp4

代碼例 曾經寫過的vaapi樣例: 解碼->overlay->編碼
vaapi-test.go

Intel Quick Sync(QSV)

除了VAAPI之外,intel還有一項自己平臺專屬的硬件加速技術QSV(quick-sync-video)。

Quick Sync Video 使用Intel圖形技術專用媒體處理能力來快速編解碼。
ffmpeg wiki有一頁qsv的介紹,但是推薦使用VA-API(iHD / i965) 驅動代替libmfx.

API支持情況

QSV支持訪問多種不同的媒體庫API:
DXVA2 / D3D11VA : 標準windows api,由Intel圖形驅動程序實現,以支持視頻解碼。

linux libmfx:這是intel的一個庫,可以作為Intel Media SDK的一部分安裝,并且支持一些編碼和解碼類型。

Windows libmfx: 英特爾的圖形驅動程序提供,它支持所有的編碼和解碼的類型。

Media Foundation:通過英特爾圖形驅動程序,支持一部分編解碼類型,沒有繼承進ffmpeg。

VAAPI i965驅動:這是一個幾乎免費的libva/VAAPI驅動程序。大多數Linux發行版都打包了它。

VAAPI iHD驅動:Linux上的libmfx后期使用了的一個修改過的libva和VAAPI驅動程序;這也可以由用戶直接使用。

vaapi/mfx比較

vaapi/i965

1)在大多數Linux發行版中都是作為標準打包的。
2)可運行在所有可用的硬件上,包括一些較老和較便宜的設備。
3)支持大多數編解碼器。
4)通用的API,也可以使用基于Mesa的AMD / Nvidia硬件。
5)可與標準api (EGL/OpenGL, OpenCL)交互。

libmfx /iHD

1)在某些情況下,可能會提供更好的編碼質量(如look_ahead)。
2)在某些情況下(如MFE,特別是在Iris圖形上)可能會提供更高的編碼吞吐量。
3)linux和windows皆通用的API。
4)可與Intel實現的OpenCL實現交互。

安裝

linux下
可以安裝基于vaapi開源的MediaSDK

windows下
官方有驅動下載
:https://software.intel.com/media-sdk

樣例

h264解碼

ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -f null -

總結:

代碼例: qsv 解碼->overlay->編碼
qsv-test.go

分享到:
標簽:加速 視頻
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定