Jump to content

HW Acceleration & Optimal/Budget Hardware Requirements for Emby Server (Transcoding)


popy

Recommended Posts

popy

Hey guys.

Currently running Emby Server on an rather old i5-3470T with 16GB of DDR3 Ram.
Here is the Link to the CPU: https://ark.intel.com/content/www/de/de/ark/products/65703/intel-core-i5-3470t-processor-3m-cache-up-to-3-60-ghz.html
It supports Intel Quicksync.

How can i check if Emby is using HW Acceleration?

Which Hardware (Mini ITX Mainboard + CPU) is recommended to use HW Accel. Transcoding of FullHD Content (1080p)?
Intel/AMD or dedicated GPU?

Thx

Link to comment
Share on other sites

vdatanet
58 minutes ago, popy said:

How can i check if Emby is using HW Acceleration?

You can check your server dashboard while transcoding:

576304592_Capturadepantalla2021-05-15alas18_34_30.png.3d4bd534909e4325b468feb848282218.png

If you see those green badges, it's hw transcoding.

Link to comment
Share on other sites

popy

Thx for the hint. I think found the issue after checking logs and search google.
I am running Emby Server with FireDaemon as a windows Service and it was setup to run as "LocalSystem" User.
With this User (Also named Session 0 environment) HW acceleration is not possible.

Have found this in the logs when i have manually started Emby with my user:

2021-05-15 17:52:28.226 Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Execute: C:\Users\whs_admin\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json -disable_dx11
2021-05-15 17:52:28.773 Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Process exited with code 0
2021-05-15 17:52:28.858 Info QuickSyncCodecProvider: Adapter #0: 'Intel(R) HD Graphics' Id:338 (Driver: 655378.659718, Vendor: 32902, SDK Version: 1.11)

And the last line was missing when it was run as "LocalSystem".
Changed FireDaemon now to run it as my User and ffmpeg now has 0% cpu oad, yippie.

Here is an command which can be used (and will be used by emby to check if any quicksync encoders are found:

C:\Users\USER\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json -disable_dx11 > qs_service.txt

There should be at least one Device, the outpur when working is:

{
    "ProgramVersion": {
        "Version": "4.3.0-emby_2021_02_27-g8f222573e9+634",
        "Copyright": "Copyright (c) 2018-2021 softworkz for Emby Llc",
        "Compiler": "gcc 9.2.0 (Rev2, Built by MSYS2 project)",
        "Configuration": " --enable-amf --enable-bzlib --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --disable-sdl2 --disable-debug --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --disable-cuda-nvcc --enable-gmp --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libdav1d --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-version3 --enable-libzvbi --enable-opencl --enable-gnutls --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++"
    },
    "Devices": [
        {
            "DeviceIndex": 0,
            "DeviceInfo": {
                "DeviceName": "\\\\.\\DISPLAY193",
                "DirectXType": "DX9",
                "Description": "Intel(R) HD Graphics",
                "Driver": "igdumdim64.dll",
                "DeviceId": 338,
                "VendorId": 32902,
                "DriverVersionMajor": 655378,
                "DriverVersionMinor": 659718,
                "SubSysId": 2227834947,
                "DeviceGuid": "{d7b78e66-4212-11cf-f562-c0a4b4c2c735}",
                "ApiVersionMajor": 1,
                "ApiVersionMinor": 11
            },
            "Decoders": [
                {
                    "CodecName": "mpeg2video",
                    "CodecId": 843534413,
                    "MinWidth": 1,
                    "MinHeight": 1,
                    "MaxWidth": 4096,
                    "MaxHeight": 4096,
                    "WidthAlignment": 16,
                    "HeightAlignment": 16,
                    "Profiles": [
                        {
                            "ProfileId": 80,
                            "ProfileName": "MFX_PROFILE_MPEG2_SIMPLE"
                        },
                        {
                            "ProfileId": 64,
                            "ProfileName": "MFX_PROFILE_MPEG2_MAIN"
                        },
                        {
                            "ProfileId": 16,
                            "ProfileName": "MFX_PROFILE_MPEG2_HIGH"
                        }
                    ]
                },
                {
                    "CodecName": "vc1",
                    "CodecId": 540099414,
                    "MinWidth": 16,
                    "MinHeight": 16,
                    "MaxWidth": 16384,
                    "MaxHeight": 16384,
                    "WidthAlignment": 16,
                    "HeightAlignment": 16,
                    "Profiles": [
                        {
                            "ProfileId": 1,
                            "ProfileName": "MFX_PROFILE_VC1_SIMPLE"
                        },
                        {
                            "ProfileId": 5,
                            "ProfileName": "MFX_PROFILE_VC1_MAIN"
                        },
                        {
                            "ProfileId": 13,
                            "ProfileName": "MFX_PROFILE_VC1_ADVANCED"
                        }
                    ]
                },
                {
                    "CodecName": "h264",
                    "CodecId": 541283905,
                    "MinWidth": 16,
                    "MinHeight": 16,
                    "MaxWidth": 16384,
                    "MaxHeight": 16384,
                    "WidthAlignment": 16,
                    "HeightAlignment": 16,
                    "Profiles": [
                        {
                            "ProfileId": 66,
                            "ProfileName": "MFX_PROFILE_AVC_BASELINE"
                        },
                        {
                            "ProfileId": 77,
                            "ProfileName": "MFX_PROFILE_AVC_MAIN"
                        },
                        {
                            "ProfileId": 88,
                            "ProfileName": "MFX_PROFILE_AVC_EXTENDED"
                        },
                        {
                            "ProfileId": 100,
                            "ProfileName": "MFX_PROFILE_AVC_HIGH"
                        }
                    ]
                }
            ],
            "Encoders": [
                {
                    "CodecName": "h264",
                    "CodecId": 541283905,
                    "MinWidth": 32,
                    "MinHeight": 32,
                    "WidthAlignment": 16,
                    "HeightAlignment": 16,
                    "MaxWidth": 8192,
                    "MaxHeight": 8192,
                    "Profiles": [
                        {
                            "ProfileId": 66,
                            "ProfileName": "MFX_PROFILE_AVC_BASELINE"
                        },
                        {
                            "ProfileId": 77,
                            "ProfileName": "MFX_PROFILE_AVC_MAIN"
                        },
                        {
                            "ProfileId": 100,
                            "ProfileName": "MFX_PROFILE_AVC_HIGH"
                        },
                        {
                            "ProfileId": 578,
                            "ProfileName": "MFX_PROFILE_AVC_CONSTRAINED_BASELINE"
                        },
                        {
                            "ProfileId": 12388,
                            "ProfileName": "MFX_PROFILE_AVC_CONSTRAINED_HIGH"
                        },
                        {
                            "ProfileId": 4196,
                            "ProfileName": "MFX_PROFILE_AVC_PROGRESSIVE_HIGH"
                        }
                    ]
                }
            ]
        },
        {
            "DeviceIndex": 1,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        },
        {
            "DeviceIndex": 2,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        },
        {
            "DeviceIndex": 3,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        }
    ],
    "Log": [
        {
            "Level": 40,
            "Category": 0,
            "Message": "Initialize MFX session: API version is 1.34, implementation version is 1.11"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoderProfiles - Profile not supported (1): MFX_PROFILE_AVC_HIGH_422"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoderProfiles - Profile not supported (1): MFX_PROFILE_AVC_CONSTRAINED_BASELINE"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoderProfiles - Profile not supported (1): MFX_PROFILE_AVC_CONSTRAINED_HIGH"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoderProfiles - Profile not supported (1): MFX_PROFILE_AVC_PROGRESSIVE_HIGH"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoders - Codec not supported: hevc"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoders - Codec not supported: vp8"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddDecoders - Codec not supported: vp9"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddEncoders - Codec not supported. Out codec id:  mpeg2video"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 176x144 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 960x540 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 1280x720 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 1920x1080 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 2048x1080 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 3840x2160 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "CheckEncoderResolutions: h264- Resolution not supported (1) 4096x2160 (err: -3 - MFX_ERR_UNSUPPORTED)"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddEnoderProfiles - Profile not supported (2): MFX_PROFILE_AVC_EXTENDED"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddEnoderProfiles - Profile not supported (2): MFX_PROFILE_AVC_HIGH_422"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddEncoders - Codec not supported: hevc"
        },
        {
            "Level": 40,
            "Category": 0,
            "Message": "AddEncoders - Codec not supported: vp9"
        },
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 1 outside of range. 1 adapters available."
        },
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 2 outside of range. 1 adapters available."
        },
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 3 outside of range. 1 adapters available."
        }
    ]
}

And when not working as LocalSystem User:

{
    "ProgramVersion": {
        "Version": "4.3.0-emby_2021_02_27-g8f222573e9+634",
        "Copyright": "Copyright (c) 2018-2021 softworkz for Emby Llc",
        "Compiler": "gcc 9.2.0 (Rev2, Built by MSYS2 project)",
        "Configuration": " --enable-amf --enable-bzlib --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --disable-sdl2 --disable-debug --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --disable-cuda-nvcc --enable-gmp --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libdav1d --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-version3 --enable-libzvbi --enable-opencl --enable-gnutls --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++"
    },
    "Devices": [
        {
            "DeviceIndex": 0,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        },
        {
            "DeviceIndex": 1,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        },
        {
            "DeviceIndex": 2,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        },
        {
            "DeviceIndex": 3,
            "DeviceInfo": {

            },
            "Error": {
                "Number": -3,
                "Message": "Error initializing an MFX session: MFX_ERR_UNSUPPORTED"
            }
        }
    ],
    "Log": [
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 0 outside of range. 0 adapters available."
        },
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 1 outside of range. 0 adapters available."
        },
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 2 outside of range. 0 adapters available."
        },
        {
            "Level": 16,
            "Category": 0,
            "Message": "Adapter number 3 outside of range. 0 adapters available."
        }
    ]
}

Hope this helps someone.

thx
pOpY

 

Link to comment
Share on other sites

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...