Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/dev/dri not found and transcoding errors #327

Open
mich2k opened this issue Mar 29, 2024 · 4 comments
Open

/dev/dri not found and transcoding errors #327

mich2k opened this issue Mar 29, 2024 · 4 comments

Comments

@mich2k
Copy link

mich2k commented Mar 29, 2024

Hello!
In the admin jobs if i clicked on compute missing happens always to be some thousands of videos, library tasks or thumbnails that are missing and yet todo
Like if everytime the tasks do not manage to reach the end and complete themselves
So i checked the container logs


[Nest] 273  - 03/29/2024, 11:32:20 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:20 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:20 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:21 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:21 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:22 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:22 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:22 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:24 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:24 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:25 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:25 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:25 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:26 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:27 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:27 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:28 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:28 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:28 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:28 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:29 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:29 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:29 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:30 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:30 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist
[Nest] 273  - 03/29/2024, 11:32:31 AM   ERROR [MediaService] An error occurred while configuring transcoding options: Error: Device '/dev/dri' does not exist

about 5-6 times/second, and


[Nest] 273  - 03/29/2024, 11:32:20 AM   ERROR [JobService] Unable to run job handler (videoConversion/video-conversion): Error: ffprobe exited with code 1
ffprobe version 6.0.1-Jellyfin Copyright (c) 2007-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
/photos/encoded-video/4accdf5a-776b-43ee-9377-887c9f2ff237/7d/59/7d59af27-023c-4850-845c-c7619dbe54f0-MP.mp4: No such file or directory

[Nest] 273  - 03/29/2024, 11:32:20 AM   ERROR [JobService] Error: ffprobe exited with code 1
ffprobe version 6.0.1-Jellyfin Copyright (c) 2007-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
/photos/encoded-video/4accdf5a-776b-43ee-9377-887c9f2ff237/7d/59/7d59af27-023c-4850-845c-c7619dbe54f0-MP.mp4: No such file or directory

    at ChildProcess.<anonymous> (/app/immich/server/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)
    at ChildProcess.emit (node:events:518:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
[Nest] 273  - 03/29/2024, 11:32:20 AM   ERROR [JobService] Object:
{
  "id": "7d59af27-023c-4850-845c-c7619dbe54f0"
}

I did try to pass /dev/dri, now I tried with /dev/dri/card0 and /dev/dri/renderD128 and in the admin page I set /dev/dri/card0 as card and I get instead this error

[Nest] 273  - 03/29/2024, 11:42:19 AM   ERROR [MediaRepository] ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[AVHWDeviceContext @ 0x5f4b8140240] libva: VA-API version 1.20.0
[AVHWDeviceContext @ 0x5f4b8140240] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x5f4b8140240] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x5f4b8140240] libva: Found init function __vaDriverInit_1_20
[AVHWDeviceContext @ 0x5f4b8140240] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x5f4b8140240] Initialised VAAPI connection: version 1.20
[AVHWDeviceContext @ 0x5f4b8140240] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.3 (0bb5d2b).
[AVHWDeviceContext @ 0x5f4b8140240] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x5f4b8140180] Use Intel(R) oneVPL to create MFX session, API version is 2.10, the required implementation version is 1.3
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[AVHWDeviceContext @ 0x5f4b8140180] Initialize MFX session: implementation version is 1.35
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5f4b81a0780] unsupported color_parameter_type aclc
[h264 @ 0x5f4b8101c00] Reinit context to 1920x1088, pix_fmt: yuvj420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/external/mich_media/xiaomi_action_cam/102MEDIA/YDXJ0104.mp4':
  Metadata:
    major_brand     : avc1
    minor_version   : 0
    compatible_brands: avc1isom
    creation_time   : 2016-08-03T07:19:55.000000Z
  Duration: 00:00:35.14, start: 0.000000, bitrate: 19893 kb/s
  Stream #0:0[0x1](eng): Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, progressive, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 19742 kb/s, 59.94 fps, 59.94 tbr, 240k tbn (default)
    Metadata:
      creation_time   : 2016-08-03T07:19:55.000000Z
      handler_name    : 
                      : XiaoYi AVC
      vendor_id       : [0][0][0][0]
      encoder         : XiaoYi AVC encoder
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2016-08-03T07:19:55.000000Z
      handler_name    : 
                      : XiaoYi AAC
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264 @ 0x5f4b8100c00] Reinit context to 1920x1088, pix_fmt: yuvj420p
[graph 0 input from stream 0:0 @ 0x5f4b8202940] w:1920 h:1080 pixfmt:yuvj420p tb:1/240000 fr:60000/1001 sar:1/1
[auto_scale_0 @ 0x5f4b8202c40] w:iw h:ih flags:'' interl:0
[Parsed_format_0 @ 0x5f4b8202700] auto-inserting filter 'auto_scale_0' between the filter 'graph 0 input from stream 0:0' and the filter 'Parsed_format_0'
[swscaler @ 0x5f4b8e4e000] deprecated pixel format used, make sure you did set range correctly
[auto_scale_0 @ 0x5f4b8202c40] w:1920 h:1080 fmt:yuvj420p sar:1/1 -> w:1920 h:1080 fmt:nv12 sar:1/1 flags:0x00000004
[AVHWDeviceContext @ 0x5f4b8140fc0] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.3 (0bb5d2b).
[AVHWDeviceContext @ 0x5f4b8140fc0] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x5f4b81421c0] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.3 (0bb5d2b).
[AVHWDeviceContext @ 0x5f4b81421c0] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_scale_qsv_2 @ 0x5f4b8202880] Use Intel(R) oneVPL to create MFX session with the specified MFX loader
[Parsed_scale_qsv_2 @ 0x5f4b8202880] VPP: input is video memory surface
[Parsed_scale_qsv_2 @ 0x5f4b8202880] VPP: output is video memory surface
[swscaler @ 0x5f4b8e94000] deprecated pixel format used, make sure you did set range correctly
[auto_scale_0 @ 0x5f4b8202c40] w:1920 h:1080 fmt:yuvj420p sar:1/1 -> w:1920 h:1080 fmt:nv12 sar:1/1 flags:0x00000004
[swscaler @ 0x5f4b8e6a000] deprecated pixel format used, make sure you did set range correctly
[auto_scale_0 @ 0x5f4b8202c40] w:1920 h:1080 fmt:yuvj420p sar:1/1 -> w:1920 h:1080 fmt:nv12 sar:1/1 flags:0x00000004
[swscaler @ 0x5f4b8e4e000] deprecated pixel format used, make sure you did set range correctly
[auto_scale_0 @ 0x5f4b8202c40] w:1920 h:1080 fmt:yuvj420p sar:1/1 -> w:1920 h:1080 fmt:nv12 sar:1/1 flags:0x00000004
[AVHWFramesContext @ 0x5f4b813a200] Use Intel(R) oneVPL to create MFX session, API version is 2.10, the required implementation version is 1.35
[AVHWFramesContext @ 0x5f4b813a200] Initialize MFX session: implementation version is 1.35
[h264_qsv @ 0x5f4b8101400] Using input frames context (format qsv) with h264_qsv encoder.
[h264_qsv @ 0x5f4b8101400] Encoder: input is video memory surface
[h264_qsv @ 0x5f4b8101400] Use Intel(R) oneVPL to create MFX session with the specified MFX loader
[h264_qsv @ 0x5f4b8101400] Using the intelligent constant quality (ICQ) ratecontrol method
[h264_qsv @ 0x5f4b8101400] Error initializing the encoder: invalid video parameters (-15)
[vost#0:0/h264_qsv @ 0x5f4b81d1800] Error initializing output stream: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[AVIOContext @ 0x5f4b81bd980] Statistics: 0 bytes written, 0 seeks, 0 writeouts
Terminating demuxer thread 0
[AVIOContext @ 0x5f4b81bd5c0] Statistics: 866853 bytes read, 0 seeks
Conversion failed!

If i pass /dev/dri/card0 in the admin settings I get the encoding that fallsback to cpu
image

If, instead, I write only /dev/dri I get the does not exist error as above...

I do not know if i misconfigured something since I did follow all the instructions, about the exit status 1 I suspect might be some permission errors but actually I do not know

@martabal
Copy link
Collaborator

martabal commented Mar 29, 2024

Did you follow the guide to have hw acceleration with an intel GPU ? https://github.com/imagegenius/docker-immich?tab=readme-ov-file#intel-hardware-acceleration

@mich2k
Copy link
Author

mich2k commented Mar 29, 2024

Did you follow the guide to have hw acceleration with an intel GPU ? https://github.com/imagegenius/docker-immich?tab=readme-ov-file#intel-hardware-acceleration

if you mean passing the device, yes I did

@martabal
Copy link
Collaborator

Did you change the video transcoding settings ?

@mich2k
Copy link
Author

mich2k commented Mar 30, 2024

By going from QSV to VAAPI and by typing auto in the device now works
Also QSV + auto does not work and prints the same error
The error I was facing was the same reported here
Now is working, thank you for the advices, I hope VAAPI isnt too much slow compared to QSV

edit:
sadly after sometime stops working again, wondering if this is linked to the image or to immich itself

[Nest] 272  - 03/30/2024, 3:29:28 AM   ERROR [MediaService] Error: ffmpeg exited with code 1: Device creation failed: -5.
Failed to set value 'vaapi=accel:/dev/dri/card0' for option 'init_hw_device': Input/output error
Error parsing global options: Input/output error

[Nest] 272  - 03/30/2024, 3:29:28 AM   ERROR [MediaService] Error occurred during transcoding. Retrying with VAAPI acceleration disabled.
[Nest] 272  - 03/30/2024, 3:29:55 AM     LOG [MediaService] Successfully encoded eb3824e8-410e-45c8-a844-58d0103e7c36
[Nest] 272  - 03/30/2024, 3:29:55 AM     LOG [MediaService] Started encoding video 41a7d727-c2db-44ad-9661-10b3e7ee71f7 {"inputOptions":["-init_hw_device vaapi=accel:/dev/dri/card0","-filter_hw_device accel"],"outputOptions":["-c:v h264_vaapi","-c:a copy","-movflags faststart","-fps_mode passthrough","-map 0:0","-map 0:1","-g 256","-v verbose","-vf format=nv12,hwupload,scale_vaapi=720:-2","-compression_level 7","-qp 23","-global_quality 23","-rc_mode 1"],"twoPass":false}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants