You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Can't get QSV to work with the ffmpeg build from prerequisites.sh --enable-qsv. The intel drivers all seem to be working, and ffmpeg builds with the correct QSV extensions, but ffmpeg is unable to create the device context (no devices found)
I am running an intel nuc with a i7-1165G7 processor using MediaSDK
I have installed the drivers with OvenMediaEngine-master/misc/install_intel_driver.sh
I have attached outputs from vainfo and the suggested MediaSDK test to confirm that the drivers are working and should support the relevant H264 encoding, though the ffmpeg build created by prerequisites.sh does not seem capable of using the render device:
[2024-04-09 13:11:02.798] E [OvenMediaEngine:172300] FFmpeg | third_parties.cpp:111 | [AVHWDeviceContext: 0x7f4a0d4d9c00] No supported child device type is enabled
The service runs at root so it shouldn't be a permissions issue? (accessing /dev/dri/...)
I also have another differently configured ffmpeg installation on the machine for a different streaming task, though that shouldn't be interfering as the paths to the various libs are baked into the ffmpeg install as far as I understand
Server.xml*
Here are the relevant server.xml lines - this works with HWAccels set to false
~/MediaSDK/build/__bin/release/simple_7_codec
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
The Media SDK API Version: 1.35
Check decoder H.264 with resolution(4096x2304)
The device supports decoder H.264 with resolution(4096x2304)
Check decoder H.265 with resolution(8192x8192)
The device supports decoder H.265 with resolution(8192x8192)
Check decoder H.265 10bit with resolution(8192x8192); (4096x4096) on SkyLake
The device supports decoder H.265 10bit with resolution(8192x8192); (4096x4096) on SkyLake
Check decoder MPEG-2 with resolution(2048x2048)
Query decoder MPEG-2 with resolution(2048x2048) failed
The device doesn't support decoder MPEG-2 with resolution(2048x2048), initialization failed
The decoder wasn't closed successfully.
Check decoder VC1 with resolution(1920x1080)
The device supports decoder VC1 with resolution(1920x1080)
Check decoder MJPEG with resolution(640x480)
The device supports decoder MJPEG with resolution(640x480)
Check decoder VP8 with resolution(1920x1080)
The device supports decoder VP8 with resolution(1920x1080)
Check encoder H.264 with resolution(4096x4096)
The device supports encoder H.264 with resolution(4096x4096)
Check encoder H.265 with resolution(4096x2176)
The device supports encoder H.265 with resolution(4096x2176)
Check encoder H.265 10bit with resolution(4096x2176) only on KabyLake
The device supports encoder H.265 10bit with resolution(4096x2176) only on KabyLake
Check encoder MPEG-2 with resolution(1920x1080)
The device supports encoder MPEG-2 with resolution(1920x1080)
Check encoder MJPEG with resolution(640x480)
The device supports encoder MJPEG with resolution(640x480)
The device supports the VPP with resolution(4096x4096)
vainfo output:
vainfo
Trying display: wayland
error: XDG_RUNTIME_DIR not set in the environment.
Trying display: x11
error: can't connect to X server!
Trying display: drm
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.16.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.2.1 (222a1b93b)
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
(etc)
ffmpeg init_hw_device test:
/opt/ovenmediaengine/bin/ffmpeg -v debug -init_hw_device qsv
ffmpeg version 5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
configuration: --prefix=/opt/ovenmediaengine --extra-cflags='-I/opt/ovenmediaengine/include ' --extra-ldflags='-L/opt/ovenmediaengine/lib -Wl,-rpath,/opt/ovenmediaengine/lib ' --extra-libs=-ldl --disable-everything --disable-programs --disable-avdevice --disable-dwt --disable-lsp --disable-lzo --disable-faan --disable-pixelutils --enable-shared --enable-zlib --enable-libopus --enable-libvpx --enable-libfdk_aac --enable-libopenh264 --enable-openssl --enable-network --enable-libsrt --enable-dct --enable-rdft --disable-nvdec --disable-nvdec --disable-vaapi --disable-vdpau --disable-cuda-llvm --disable-cuvid --disable-ffnvcodec --enable-libmfx --enable-ffmpeg --enable-encoder='libvpx_vp8,libopus,libfdk_aac,libopenh264,mjpeg,png,h264_qsv,hevc_qsv' --enable-decoder='aac,aac_latm,aac_fixed,mp3float,mp3,h264,hevc,opus,vp8,vp8_qsv,h264_qsv,hevc_qsv' --enable-parser='aac,aac_latm,aac_fixed,h264,hevc,opus,vp8' --enable-protocol='tcp,udp,rtp,file,rtmp,tls,rtmps,libsrt' --enable-demuxer='rtsp,flv,live_flv,mp4,mp3' --enable-muxer='mp4,webm,mpegts,flv,mpjpeg' --enable-filter='asetnsamples,aresample,aformat,channelmap,channelsplit,scale,transpose,fps,settb,asettb,crop,format'
libavutil 57. 17.100 / 57. 17.100
libavcodec 59. 18.100 / 59. 18.100
libavformat 59. 16.100 / 59. 16.100
libavfilter 8. 24.100 / 8. 24.100
libswscale 6. 4.100 / 6. 4.100
libswresample 4. 3.100 / 4. 3.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'qsv'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument qsv.
[AVHWDeviceContext @ 0x55bad75a5980] No supported child device type is enabled
Device creation failed: -38.
Failed to set value 'qsv' for option 'init_hw_device': Function not implemented
Error parsing global options: Function not implemented
Server:
OS: ubuntu 20.04
OvenMediaEngine Version: [e.g. v0.16.5]
Branch: dev
Player:
Device: PC
OS: Ubuntu 20.04
Browser Chrome
Version 123.0.6312.58
The text was updated successfully, but these errors were encountered:
Sorry for the late reply. Thank you for the detailed reporting.
Unfortunately, Recently, QSV was not being maintained. I will make plans soon and take steps to ensure that QSV runs well in the latest OME version. Please wait for good news.
Describe the bug
Can't get QSV to work with the ffmpeg build from
prerequisites.sh --enable-qsv
. The intel drivers all seem to be working, and ffmpeg builds with the correct QSV extensions, but ffmpeg is unable to create the device context (no devices found)I am running an intel nuc with a i7-1165G7 processor using MediaSDK
I have installed the drivers with
OvenMediaEngine-master/misc/install_intel_driver.sh
I have attached outputs from vainfo and the suggested MediaSDK test to confirm that the drivers are working and should support the relevant H264 encoding, though the ffmpeg build created by prerequisites.sh does not seem capable of using the render device:
The service runs at root so it shouldn't be a permissions issue? (accessing /dev/dri/...)
I also have another differently configured ffmpeg installation on the machine for a different streaming task, though that shouldn't be interfering as the paths to the various libs are baked into the ffmpeg install as far as I understand
Server.xml*
Here are the relevant server.xml lines - this works with HWAccels set to false
Logs
OvenMedia logs:
Note:
MediaSDK Test:
vainfo output:
ffmpeg init_hw_device test:
Server:
Player:
The text was updated successfully, but these errors were encountered: