Hey there, I’m not exactly sure where to post this, but I have been trying to solve this issue for hours now. I have an old Intel NUC which runs Ubuntu/Docker with Sonarr, Jellyfin etc. I’ve found that it is slightly too slow for ‘live’ transcoding through Jellyfin. Enabling hardware transcoding I’m experiencing speeds at around 22fps, which isn’t ideal. So, I’m currently attempting to use unmanic to avoid it altogether, but I’m running into issues when trying to get hardware acceleration to work.

I’ve followed the official documentation as well as the guide provided here: Link to the guide you mentioned. I’ve tried 6 or 7 different plugins related to GPU transcoding, but the problem remains. I also experimented with tdarr, but it had the same issue and it would always fall back to CPU.

Looking at the logs for Unmanic I see this error:

[hevc_vaapi @ 0x56224b97db80] No usable encoding entrypoint found for profile VAProfileHEVCMain (17).
Error initializing output stream 0:16 -- Error while opening encoder for output stream #0:16 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

But, when I run ‘vainfo’, it does show a ‘VAProfileHEVCMain’ entrypoint:

vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
----> VAProfileHEVCMain               : VAEntrypointVLD

While the CPU is quite dated, it’s worth noting that hardware-accelerated transcoding works with Jellyfin. The CPU is an Intel® Celeron® CPU J3060 @ 1.60GHz.

I am trying to convert to either H.264 or H.265.

    • MoonlitSanguine@lemmy.oneOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I just tried it with

      ffmpeg -c:v h264_qsv -i Kimetsu\ no\ Yaiba\ Yuukaku\ Hen\ -\ 01\ \[Blu-Ray\]\[1080p\]\[10bit\]\[BCEFB086\].mkv -map 0 -c copy -c:v hevc_qsv -preset slow -global_quality 22 -look_ahead 1 output.mkv

      and got:

      [h264_qsv @ 0x5647e6354780] Error initializing the MFX video decoder: invalid handle (-6)
      Error while decoding stream #0:0: Invalid argument
      [h264_qsv @ 0x5647e6354780] [IMGUTILS @ 0x7fffc3312e40] Picture size 0x0 is invalid
      [h264_qsv @ 0x5647e6354780] video_get_buffer: image parameters invalid
      [h264_qsv @ 0x5647e6354780] get_buffer() failed
      Error while decoding stream #0:0: Invalid argument
      

      Could this mean it is a driver issue?

      • Eideen@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        You arguments looks incorrect, -c:v h264_qsv and -c:v hevc_qsv .

        I can be a driver issue, you can try with a Live disk to see if the issue persist.