What's new
PGBlitz.com

Register Now! Find useful tips, Interact /w Community Members and join the part the Best Community on the Internet!

Discussion Hetzner Server - Hardware Transcoding not working

logas

Junior Member
Hello guys,

I ask in this forum because of the tutorial regarding Hetzner and iGPU.

I have a EX62 Server from hetzner with an i9-9900K.
I am running Plex directly on it (CentOS 7). (I need to keep CentOS as my os because of other project hosted on the server)
The Plex server is run by the user root.
I also added the root user to the video group. (Because of the note on the bottom of this post: https://forums.plex.tv/t/customizing-your-plex-configuration/205443

Then I followed the tutorial for hetzner servers which I found on your forum: https://pgblitz.com/threads/hw-transcoding-from-docker-solution-for-hetzner-dedicated-and-info-for-other-servers.2544/
(The only step I could not do is installing vainfo because I do not know how to do so for CentOS 7)

[[email protected] ~]# ls -la /dev/dri
total 0
drwxr-xr-x 2 root root 80 Apr 25 20:23 .
drwxr-xr-x 20 root root 3320 Apr 25 20:23 ..
crw-rw---- 1 root video 226, 0 Apr 25 20:23 card0
crw-rw---- 1 root video 226, 128 Apr 25 20:23 renderD128
[[email protected] ~]#

As far as I see everything should work now. I restarted the server already and tried to transcode some video to lower quality.
But according to what I see in the Plex Dashboard and in Tautulli the hardware transcoding is not used. (It is enabled in the settings. I have the Plex Pass)

What could the issue be ?

Best regards,
logas
 

logas

Junior Member
[[email protected] ~]# sudo lspci -v -s $(lspci | grep VGA | cut -d" " -f 1)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop 9 Series) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Device d000
Flags: bus master, fast devsel, latency 0, IRQ 489
Memory at 50000000 (64-bit, non-prefetchable) [size=16M]

Memory at 40000000 (64-bit, prefetchable) [size=256M]
I/O ports at 3000
Expansion ROM at <unassigned> [disabled]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915


This is what I found in the Plex Media Server Log:

This is what I found in the Plex Media Server.log file:
```
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Scaled up video bitrate to 13104Kbps based on 1.500000x fudge factor.
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Scaled maximum bitrate for resolution reduction to 1842Kbps.
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Selected protocol dash; container: mp4
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: analyzing media item 103
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Sample Movie (2017): Direct Play is disabled
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Sample Movie (2017): media must be transcoded in order to use the dash protocol
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Sample Movie (2017): selected subtitle cannot be converted to a compatible format, burning into video stream
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Sample Movie (2017): avoiding video remux due to burned subtitle stream
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Sample Movie (2017): no remuxable profile found, so video stream will be transcoded
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Codecs: testing h264_nvenc (encoder)
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] ERROR - [FFMPEG] - Cannot load libcuda.so.1
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] WARN - avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Cannot direct stream video stream due to profile or setting limitations
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] ERROR - [FFMPEG] - libva: /usr/lib/plexmediaserver/lib/dri/i965_drv_video.so init failed
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] ERROR - [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Input/output error
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Scaled up video bitrate to 13104Kbps based on 1.500000x fudge factor.
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Scaled maximum bitrate for resolution reduction to 1842Kbps.
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Sample Movie - audio.channels limitation applies: 6 > 2
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Cannot direct stream audio stream due to profile or setting limitations
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - MDE: Sample Movie (2017): selected media 0 / 103
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Streaming Resource: Adding session 0x7efec414c500:nrixuurqqpcuyujbut0z6n6y which is using 1987kbps of WAN bandwidth. Used is now 1987kbps
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Streaming Resource: Adding session 0x7efec414c500:nrixuurqqpcuyujbut0z6n6y which is using transcoder slot. Used slots is now 1
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Streaming Resource: Added session 0x7efec414c500:nrixuurqqpcuyujbut0z6n6y
Apr 26, 2019 02:42:12.941 [0x7efecb7fe700] DEBUG - Streaming Resource: Reached Decision id=102 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=103 part=(id=103 decision=transcode container=mp4 protocol=dash streams=(Video=(id=3782 decision=transcode bitrate=1720 encoder=libx264 width=720 height=378) Audio=(id=3783 decision=transcode bitrate=172 encoder=aac channels=2 rate=48000) Subtitle=(id=3785 decision=burn languageCode=ger location=embedded))))
Apr 26, 2019 02:42:12.942 [0x7effb930b700] DEBUG - Completed: [::ffff:91.188.81.242:61565] 200 GET /video/:/transcode/universal/decision?hasMDE=1&path=%2Flibrary%2Fmetadata%2F102&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=wan&maxVideoBitrate=2000&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=7od67slhcvv3u2w0pbzem517&subtitles=burn&Accept-Language=de (24 live) TLS GZIP 34ms 7250 bytes (pipelined: 9)
Apr 26, 2019 02:42:13.051 [0x7effb8b0a700] DEBUG - Auth: authenticated user 1 as salexes
Apr 26, 2019 02:42:13.052 [0x7eff2cff9700] DEBUG - Request: [::ffff:91.188.81.242:61565 (WAN)] GET /video/:/transcode/universal/start.mpd?hasMDE=1&path=%2Flibrary%2Fmetadata%2F102&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=wan&maxVideoBitrate=2000&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=7od67slhcvv3u2w0pbzem517&subtitles=burn&Accept-Language=de (23 live) TLS GZIP Signed-in Token (salexes)
Apr 26, 2019 02:42:13.052 [0x7eff2cff9700] DEBUG - Found session GUID of 7od67slhcvv3u2w0pbzem517 in session start.
Apr 26, 2019 02:42:13.052 [0x7eff2cff9700] DEBUG - TranscodeUniversalRequest: using augmented profile Web
Apr 26, 2019 02:42:13.052 [0x7eff2cff9700] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/102?checkFiles=1&includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=nrixuurqqpcuyujbut0z6n6y
Apr 26, 2019 02:42:13.052 [0x7eff2cff9700] DEBUG - Auth: authenticated user 1 as logas
Apr 26, 2019 02:42:13.056 [0x7eff2cff9700] DEBUG - It took 10.000000 ms to retrieve 190 items.
Apr 26, 2019 02:42:13.057 [0x7eff2cff9700] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 26, 2019 02:42:13.057 [0x7eff2cff9700] DEBUG - Selecting best audio stream for part ID 103 (autoselect: 1 language: de)
Apr 26, 2019 02:42:13.057 [0x7eff2cff9700] DEBUG - We're going to try to auto-select a subtitle.
Apr 26, 2019 02:42:13.057 [0x7eff2cff9700] DEBUG - Subtitles: Found a candidate subtitle language [ger] for a foreign film
Apr 26, 2019 02:42:13.057 [0x7eff2cff9700] DEBUG - Audio Stream: 3783, Subtitle Stream: 3785
Apr 26, 2019 02:42:13.058 [0x7eff2cff9700] DEBUG - Found session GUID of 7od67slhcvv3u2w0pbzem517 in session start.
Apr 26, 2019 02:42:13.059 [0x7eff2cff9700] DEBUG - Cleaning directory for session 7od67slhcvv3u2w0pbzem517 ()
Apr 26, 2019 02:42:13.059 [0x7eff2cff9700] DEBUG - Starting a transcode session 7od67slhcvv3u2w0pbzem517 at offset -1.0 (state=3)
Apr 26, 2019 02:42:13.066 [0x7effb8b0a700] DEBUG - Completed: [::ffff:91.188.81.242:61391] 200 GET /statistics/bandwidth?timespan=6 (23 live) TLS GZIP 133ms 150410 bytes (pipelined: 149)
Apr 26, 2019 02:42:13.072 [0x7eff2cff9700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Apr 26, 2019 02:42:13.072 [0x7eff2cff9700] DEBUG - [Universal] Using local file path instead of URL: /home/GDrive/Filme/Sample Movie (2017).mkv
Apr 26, 2019 02:42:13.072 [0x7eff2cff9700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Apr 26, 2019 02:42:13.072 [0x7eff2cff9700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
 
Last edited:
M

MrDoob

Guest
i9-9900k is not possible for Plex transcode

The Kernel must be over v5.xxx and Plex cannot use this iGPU actually.

So we can close this.

@timekills try it and he say .. plex cannot use this iGPU
 

kamos69

Senior Member
Donor
@logas did you get this working? I'm considering upgrading to this server but I don't want to if hardware acceleration is not supported.
 

deva5610

Full Member
Donor
If you have Plex Pass there's a new preview build of Plex on their forums that has an updated transcoder here. If you want to install it inside the Plex Docker it's a bit of a ballache because the container runs a script to install updates when rebooted, which will overwrite the preview. Here's how I've got it running, but keep in mind every reboot from now on you won't get automatic updates unless you undo these changes (very easy, the original file is backed up!)

Basically
1) Open Portainer and then go into the shell of your Plex Docker (Click containers on the side menu, and then look to the right of where your Plex container is and click the ">_" button. Click "Connect" on the new page leaving the default settings).

2) When the shell opens install wget "apt install wget"

3) Backup the updater script "mv plex-common.sh plex-common.sh.bak"

3) Download my slightly edited update script (Hardcoded to download this one preview build, no others) "wget https://raw.githubusercontent.com/deva5610/pms-docker/master/root/plex-common.sh"

4) Make it executable "chmod +x plex-common.sh"

5) Exit the shell, go back to the containers list in Portainer and reboot Plex. The preview build will download and install. Done.

These instructions ONLY work if you've got Plex Pass. This preview build won't run if you do not. I suggest doing a backup of Plex using "PG Vault" before starting - even though this shouldn't change any files outside of the docker container.

To undo the changes just go back into the shell and type "rm plex-common.sh" and then "mv plex-common.sh.bak plex-common.sh" and the container will be back to normal.
 

deva5610

Full Member
Donor
After you've done all of that, and assuming you've followed the rest of the guides to setup HW transcoding then it should just work.

You may need to update the kernel on your server to one from the 5.X branch as well - I'm not sure if it's required because I was already running an updated one.

Here is the very simple, bodgy change I made to the update script so you can see it's not malicious.
 

astroshare

Senior Member
Donor
Thanks for this. Worked like a charm. So to keep this, we can't update the Plex container, correct?
 
Last edited:

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Similar threads


Development Donations

 

Top NZB NewsGroups!

Members - Up To a 58% Discount!

Trending

Online statistics

Members online
13
Guests online
103
Total visitors
116
Top