docker-immich icon indicating copy to clipboard operation
docker-immich copied to clipboard

/dev/dri not found and transcoding errors

Open mich2k opened this issue 4 months ago • 4 comments

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

mich2k avatar Mar 29 '24 19:03 mich2k