From 1dec02e0f74b954cce5175fe5eaead73185510ab Mon Sep 17 00:00:00 2001 From: cpu Date: Fri, 5 Jan 2024 14:48:28 +0100 Subject: [PATCH] added vainfo --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README.md b/README.md index f7b05a4..0108de0 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ card 1: Q9000 [QuickCam Pro 9000], device 0: USB Audio [USB Audio] > `ffmpeg -loglevel error -i rtsp://garagecam.virtonline.eu:554/live3.sdp -c copy -f flv rtmp://peertube.virtonline.eu:1935/live/LIVE-STREAM-KEY` ### Live stream camera using h.264 hardware acceleration [VAAPI](https://trac.ffmpeg.org/wiki/Hardware/VAAPI) (e.g. on Intel iGPU) +See supported codecs by the generation of the Intel CPU: [Intel Quick Sync Video](https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding) Check your GPU > `sudo lshw -C display` ``` @@ -124,6 +125,54 @@ Check your GPU configuration: driver=i915 latency=0 resources: irq:134 memory:de000000-deffffff memory:c0000000-cfffffff ioport:f000(size=64) memory:c0000-dffff ``` +Find out which codecs are supported by your GPU +> `docker run --rm -it --device=/dev/dri akashisn/vainfo` +``` +Trying display: drm +libva info: VA-API version 1.19.0 +libva info: User environment variable requested driver 'iHD' +libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so +libva info: Found init function __vaDriverInit_1_19 +libva info: va_openDriver() returns 0 +vainfo: VA-API version: 1.19 (libva 2.19.0) +vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.3.3 (1c13afa) +vainfo: Supported profile and entrypoints + VAProfileNone : VAEntrypointVideoProc + VAProfileNone : VAEntrypointStats + VAProfileMPEG2Simple : VAEntrypointVLD + VAProfileMPEG2Simple : VAEntrypointEncSlice + VAProfileMPEG2Main : VAEntrypointVLD + VAProfileMPEG2Main : VAEntrypointEncSlice + VAProfileH264Main : VAEntrypointVLD + VAProfileH264Main : VAEntrypointEncSlice + VAProfileH264Main : VAEntrypointFEI + VAProfileH264Main : VAEntrypointEncSliceLP + VAProfileH264High : VAEntrypointVLD + VAProfileH264High : VAEntrypointEncSlice + VAProfileH264High : VAEntrypointFEI + VAProfileH264High : VAEntrypointEncSliceLP + VAProfileVC1Simple : VAEntrypointVLD + VAProfileVC1Main : VAEntrypointVLD + VAProfileVC1Advanced : VAEntrypointVLD + VAProfileJPEGBaseline : VAEntrypointVLD + VAProfileJPEGBaseline : VAEntrypointEncPicture + VAProfileH264ConstrainedBaseline: VAEntrypointVLD + VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice + VAProfileH264ConstrainedBaseline: VAEntrypointFEI + VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP + VAProfileVP8Version0_3 : VAEntrypointVLD + VAProfileVP8Version0_3 : VAEntrypointEncSlice + VAProfileHEVCMain : VAEntrypointVLD + VAProfileHEVCMain : VAEntrypointEncSlice + VAProfileHEVCMain : VAEntrypointFEI +``` +- `VAEntrypointEncSlice` Can encode +- `VAEntrypointVLD` Can decode + +Or install natively +> `sudo apt install vainfo` +`vainfo` + Use the dockerized ffmpeg with precompiled vaapi support, adjust `/dev/video2` > `alias ffmpeg='docker run --rm -w $(pwd) -v $(pwd):$(pwd) --device=/dev/dri --device=/dev/video2 jrottenberg/ffmpeg:vaapi'`