Jump to content

Emby not using AMD 6650xt for encoding,


Go to solution Solved by Biofects,

Recommended Posts

Biofects
Posted

Hello,

I had to build a quick little machine to replace my older home machine. I wanted to go cheap(yes I know never go cheap) the specs are:

Motherboard: PRO Z790-A WIFI DDR4
CPU: 13th Gen Intel(R) Core(TM) i7-13700K
Memory: 32GB
GPU: MSI Radeon 6650xt 
Drive 1tb m.2
I have all my media on a storage using cifs
Id do use this for the entire home automation and other projects as well so not just dedicated to Emby(sorry)

I have looked at logs and see that its using the intel CPU for transcoding, 

Any advice would be great. 

 

Screenshot 2023-05-19 at 10.52.20 AM.png

ffmpeg-transcode-b7e2b5ee-c6da-42d8-a347-6592fd44f08d_1.txt

kikinjo
Posted

Try deselecting all VAAPI, and use only Qsync.

Biofects
Posted

@kikinjowell qsync is for qnap nas, I should actually disable that since the transcoding happens on the host not the storage, and yes my storage is an old 8 bay brobofs 

kikinjo
Posted

Did not understand part "qsync is for qnap nas"

Raptor lake is latest generation intel cpu with very good gpu, UHD 770 if i m not mistaken on i7. Use that for transcoding. i have the i9 of same generation and gpu is very powerful.

Disable all Vappi checkboxes, and try it. Drivers and everithing seems in place, so that should work fine.

For MSI Radeon 6650xt, i think you are missing drivers or something since it is not detected. Question is if it is supported in emby also.

 

  • Agree 1
Biofects
Posted

I can see FFmpeg can use AMDGPU(unless I am reading this wrong)
 

ffmpeg -h encoder=h264_vaapi

ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers

  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)

  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared

  libavutil      56. 70.100 / 56. 70.100

  libavcodec     58.134.100 / 58.134.100

  libavformat    58. 76.100 / 58. 76.100

  libavdevice    58. 13.100 / 58. 13.100

  libavfilter     7.110.100 /  7.110.100

  libswscale      5.  9.100 /  5.  9.100

  libswresample   3.  9.100 /  3.  9.100

  libpostproc    55.  9.100 / 55.  9.100

Encoder h264_vaapi [H.264/AVC (VAAPI)]:

    General capabilities: dr1 delay hardware

    Threading capabilities: none

    Supported hardware devices: vaapi

    Supported pixel formats: vaapi_vld

h264_vaapi AVOptions:

  -low_power         <boolean>    E..V....... Use low-power encoding mode (only available on some platforms; may not support all encoding features) (default false)

  -idr_interval      <int>        E..V....... Distance (in I-frames) between IDR frames (from 0 to INT_MAX) (default 0)

  -b_depth           <int>        E..V....... Maximum B-frame reference depth (from 1 to INT_MAX) (default 1)

  -rc_mode           <int>        E..V....... Set rate control mode (from 0 to 6) (default auto)

     auto            0            E..V....... Choose mode automatically based on other parameters

     CQP             1            E..V....... Constant-quality

     CBR             2            E..V....... Constant-bitrate

     VBR             3            E..V....... Variable-bitrate

     ICQ             4            E..V....... Intelligent constant-quality

     QVBR            5            E..V....... Quality-defined variable-bitrate

     AVBR            6            E..V....... Average variable-bitrate

  -qp                <int>        E..V....... Constant QP (for P-frames; scaled by qfactor/qoffset for I/B) (from 0 to 52) (default 0)

  -quality           <int>        E..V....... Set encode quality (trades off against speed, higher is faster) (from -1 to INT_MAX) (default -1)

  -coder             <int>        E..V....... Entropy coder type (from 0 to 1) (default cabac)

     cavlc           0            E..V.......

     cabac           1            E..V.......

     vlc             0            E..V.......

     ac              1            E..V.......

  -aud               <boolean>    E..V....... Include AUD (default false)

  -sei               <flags>      E..V....... Set SEI to include (default identifier+timing+recovery_point)

     identifier                   E..V....... Include encoder version identifier

     timing                       E..V....... Include timing parameters (buffering_period and pic_timing)

     recovery_point               E..V....... Include recovery points where appropriate

  -profile           <int>        E..V....... Set profile (profile_idc and constraint_set*_flag) (from -99 to 65535) (default -99)

     constrained_baseline 578          E..V.......

     main            77           E..V.......

     high            100          E..V.......

  -level             <int>        E..V....... Set level (level_idc) (from -99 to 255) (default -99)

     1               10           E..V.......

     1.1             11           E..V.......

     1.2             12           E..V.......

     1.3             13           E..V.......

     2               20           E..V.......

     2.1             21           E..V.......

     2.2             22           E..V.......

     3               30           E..V.......

     3.1             31           E..V.......

     3.2             32           E..V.......

     4               40           E..V.......

     4.1             41           E..V.......

     4.2             42           E..V.......

     5               50           E..V.......

     5.1             51           E..V.......

     5.2             52           E..V.......

     6               60           E..V.......

     6.1             61           E..V.......

     6.2             62           E..V.......

Biofects
Posted

The reason I want to offload transcoding to GPU is this server sits in a rack and has no monitor attached. I have other programs that use the CPU more frequent and heavier. 

Biofects
Posted

just some more info

sudo lshw -c video

  *-display UNCLAIMED       

       description: VGA compatible controller

       product: Advanced Micro Devices, Inc. [AMD/ATI]

       vendor: Advanced Micro Devices, Inc. [AMD/ATI]

       physical id: 0

       bus info: pci@0000:03:00.0

       version: c1

       width: 64 bits

       clock: 33MHz

       capabilities: pm pciexpress msi vga_controller bus_master cap_list

       configuration: latency=0

       resources: iomemory:600-5ff iomemory:620-61f memory:6000000000-61ffffffff memory:6200000000-620fffffff ioport:4000(size=256) memory:50200000-502fffff memory:50300000-5031ffff

  *-display

       description: Display controller

       product: Intel Corporation

       vendor: Intel Corporation

       physical id: 2

       bus info: pci@0000:00:02.0

       version: 04

       width: 64 bits

       clock: 33MHz

       capabilities: pciexpress msi pm bus_master cap_list

       configuration: driver=i915 latency=0

       resources: iomemory:620-61f iomemory:400-3ff irq:143 memory:6210000000-6210ffffff memory:4000000000-400fffffff ioport:5000(size=64) memory:4010000000-4016ffffff memory:4020000000-40ffffffff

kikinjo
Posted

Your CPU Intel has GPU also, as you see  on screenshots that you posted from emby. GT1 UHD Graphics.

Biofects
Posted

Hey so I made a mistake, When looking at the AMD site, I selected the 6500xt I run 6650xt which does support encoding/transcoding. I have the mesa drivers and the gpu driver installed but Emby still will not see it as an option for transcoding.  Any help will be great.

https://www.amd.com/en/products/graphics/amd-radeon-rx-6650-xt
Supported Rendering Format
HDMI™ 4K Support
Yes
4K H264 Decode
Yes
4K H264 Encode
Yes
H265/HEVC Decode
Yes
H265/HEVC Encode
Yes
AV1 Decode
Yes

Biofects
Posted

I don't see where I can remove the solved from this thread or if I need to create a new one

Biofects
Posted (edited)

Ok FINALLY! after some reading and found this thread 

 I was able to get the GPU usable in Ember, I never enrolled it in MOK, now that the drivers will load on boot each time it works

For this using AMD graphics this is the AMDGPU-install flags I used
 

amdgpu-install --usecase=workstation,opencl --vulkan=pro --no-32 --accept-eula

This will ask to create a MOK password (make sure you enter one and CONFIRM else it will fail

Then you have to reboot (make sure you have a display present)

On boot you will get the blue MOK screen Follow instructions and then boot. 

Screenshot 2023-05-23 at 2.49.56 PM.png

Edited by Biofects
added screenshot
  • Thanks 1
Posted

Thanks for following up !

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...