added vainfo

This commit is contained in:
cpu
2024-01-05 14:48:28 +01:00
parent ff7f16c35f
commit 1dec02e0f7

View File

@@ -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` > `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) ### 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 Check your GPU
> `sudo lshw -C display` > `sudo lshw -C display`
``` ```
@@ -124,6 +125,54 @@ Check your GPU
configuration: driver=i915 latency=0 configuration: driver=i915 latency=0
resources: irq:134 memory:de000000-deffffff memory:c0000000-cfffffff ioport:f000(size=64) memory:c0000-dffff 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` 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'` > `alias ffmpeg='docker run --rm -w $(pwd) -v $(pwd):$(pwd) --device=/dev/dri --device=/dev/video2 jrottenberg/ffmpeg:vaapi'`