HW Transcode not working 1.19.1

Server Version#: 1.19.1.2645
Player Version#: PlexWeb 4.31.2

On a FreeBSD 11.3 / FreeNAS 11.3-U2 server, Plex 1.19.1.2645 no longer uses hw transcode to transcode a 4k HEVC Main10 HDR file to 1080p. /dev/dri is visible to the jail.

On the same server, an install of Plex 1.18.9.2578 does use hw transcode for the exact same file.

Use hardware acceleration when available is set in both cases.

It’d be good to get results from other people who are using hw transcode, and hear whether this is an issue with Plex 1.19.1.

I haven’t tested on FreeBSD 12.1 yet, that’ll take a day or two.

“no longer uses” So you did get it to work at some point? Nvm I read that to quickly! I have no idea why it would not work in 1.19.1 if it does in 1.18.9 I don’t recall any change in that area and I does work fine for me (in 12.1 :thinking: )

TBH to really get good and consistent results you really need 12.x and latest drm kmod! I’ve got it to work in FreeBSD 11.3 before nut never in FreeNAS since last I tried they didn’t provide the proper kmod, I think some folks also had some luck with XigmaNAS.

In any case if it did work that it should still work! Please post logs of both the successful case and failure, that might help track this!

So yes, I’ve gotten it to work.

On this same server, if I clone the 1.18.9 jail and do a “pkg upgrade -y && service plexmediaserver restart” in there, hw transcode continues to work. Which is puzzling.

Either there is a difference in behavior between installing Plex 1.19.1 and upgrading to 1.19.1, or … something else that I’m not seeing right now. Edit: I’ll find logs.

actually what if you upgrade and then restart the server? I’m just curious if this is some odd issue with access to /dev/dri.

I did experience all sorts of craziness like that in 11, at times it would just not work, complaining that we couldn’t find the hardware device, but then I rebooted and it would work! Same flle same PMS version!

This is from the instance that is working:

<Variant id="dbbb9955-63d4-4349-9e58-a3c1f17ef49d" targetBitrate="83213" context="streaming" sourceVideoCodec="hevc" sourceAudioCodec="truehd" videoDecision="transcode" audioDecision="transcode" protocol="dash" container="mp4" videoCodec="h264" audioCodec="aac" audioChannels="2" transcodeHwRequested="1" transcodeHwDecoding="vaapi" transcodeHwEncoding="vaapi" transcodeHwDecodingTitle="Intel (VA API)" transcodeHwEncodingTitle="Intel (VA API)" transcodeHwFullPipeline="1">
<Media id="3153" videoProfile="main 10" audioChannels="2" audioCodec="aac" bitrate="79250" container="mp4" duration="8476216" height="1280" optimizedForStreaming="1" protocol="dash" videoCodec="h264" videoFrameRate="24p" videoResolution="1080p" width="2276" selected="1">

And this from the one that doesn’t:

Variant id="7639e818-0b75-4d07-bc0f-75d085060c75" targetBitrate="90341" context="streaming" sourceVideoCodec="hevc" sourceAudioCodec="truehd" videoDecision="transcode" audioDecision="transcode" protocol="dash" container="mp4" videoCodec="h264" audioCodec="aac" audioChannels="2" transcodeHwRequested="1" transcodeHwFullPipeline="0">
<Media id="280" videoProfile="main 10" audioChannels="2" audioCodec="aac" bitrate="86039" container="mp4" duration="8476217" height="1280" optimizedForStreaming="1" protocol="dash" videoCodec="h264" videoFrameRate="24p" videoResolution="1080p" width="2276" selected="1">

That’s from “Plex Transcoder Statistics”. I don’t see anything relevant in “Plex Media Server”. Where else might I be looking?

The Plex Media Server log has some relevant info if “DEBUG” is enabled! It will spill out why we couldn’t use HWT.

Strange. Listen, no need to dig further until I’ve rebooted this and maybe tested it in 12.1. /dev/dri is present and the jail that holds an upgraded plex is happy, but who knows what’s going on here. This is either a difference between upgrading and fresh installing Plex, or it’s something in my system.

Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Codecs: testing hevc (decoder) with hwdevice vaapi
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Codecs: hardware transcoding: testing API vaapi
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Generic error in an external library
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Scaled up video bitrate to 244233Kbps based on 4.500000x fudge factor.
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Scaled maximum bitrate for resolution reduction to 85783Kbps.
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Wonder Woman - audio.channels limitation applies: 8 > 6
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - MDE: Cannot direct stream audio stream due to profile or setting limitations
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - MDE: Wonder Woman: selected media 0 / 280
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Streaming Resource: Adding session 0x80ee50218:4k8svt7zcc6607c3sjz0lgey which is using transcoder slot.  Used slots is now 1
Apr 14, 2020 19:21:46.375 [0x810c89900] DEBUG - Streaming Resource: Added session 0x80ee50218:4k8svt7zcc6607c3sjz0lgey
Apr 14, 2020 19:21:46.376 [0x810c89900] DEBUG - Streaming Resource: Reached Decision id=280 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=280 part=(id=287 decision=transcode container=mp4 protocol=dash streams=(Video=(id=30 decision=transcode bitrate=85783 encoder=libx264 width=2276 height=1280) Audio=(id=31 decision=transcode bitrate=256 encoder=aac channels=2 rate=48000))))
Apr 14, 2020 19:21:46.376 [0x80bad0100] DEBUG - Completed: [192.168.3.2:58823] 200 GET /video/:/transcode/universal/decision?hasMDE=1&path=%2Flibrary%2Fmetadata%2F280&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=lan&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=uip1ck4pshiu5pqwkc1c1fjs&subtitles=burn&Accept-Language=en (13 live) TLS GZIP 3ms 1306 bytes (pipelined: 5)
Apr 14, 2020 19:21:46.503 [0x80bad0600] DEBUG - Auth: authenticated user 1 as tbehrens@outlook.com
Apr 14, 2020 19:21:46.503 [0x810c89900] DEBUG - Request: [192.168.3.2:58823 (Subnet)] GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (13 live) TLS GZIP Signed-in Token (tbehrens@outlook.com)
Apr 14, 2020 19:21:46.503 [0x810c89900] DEBUG - Content-Length is -1 (of total: -1).
Apr 14, 2020 19:21:46.507 [0x80bad0100] DEBUG - Auth: authenticated user 1 as tbehrens@outlook.com
Apr 14, 2020 19:21:46.508 [0x810c89900] DEBUG - Request: [192.168.3.2:58824 (Subnet)] GET /video/:/transcode/universal/start.mpd?hasMDE=1&path=%2Flibrary%2Fmetadata%2F280&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=lan&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=uip1ck4pshiu5pqwkc1c1fjs&subtitles=burn&Accept-Language=en (13 live) TLS GZIP Signed-in Token (tbehrens@outlook.com)
Apr 14, 2020 19:21:46.508 [0x810c89900] DEBUG - Found session GUID of uip1ck4pshiu5pqwkc1c1fjs in session start.
Apr 14, 2020 19:21:46.508 [0x810c89900] DEBUG - TranscodeUniversalRequest: using augmented profile Microsoft Edge
Apr 14, 2020 19:21:46.508 [0x810c89900] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/280?checkFiles=1&includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=4k8svt7zcc6607c3sjz0lgey
Apr 14, 2020 19:21:46.508 [0x810c89900] DEBUG - Auth: authenticated user 1 as tbehrens@outlook.com
Apr 14, 2020 19:21:46.510 [0x810c89900] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 14, 2020 19:21:46.510 [0x810c89900] DEBUG - Selecting best audio stream for part ID 287 (autoselect: 1 language: en)
Apr 14, 2020 19:21:46.510 [0x810c89900] DEBUG - We're going to try to auto-select a subtitle.
Apr 14, 2020 19:21:46.510 [0x810c89900] DEBUG - Audio Stream: 31, Subtitle Stream: -1
Apr 14, 2020 19:21:46.511 [0x810c89900] DEBUG - Found session GUID of uip1ck4pshiu5pqwkc1c1fjs in session start.
Apr 14, 2020 19:21:46.511 [0x810c89900] DEBUG - Cleaning directory for session uip1ck4pshiu5pqwkc1c1fjs ()
Apr 14, 2020 19:21:46.511 [0x810c89900] DEBUG - Starting a transcode session uip1ck4pshiu5pqwkc1c1fjs at offset -1.0 (state=3)
Apr 14, 2020 19:21:46.511 [0x810c89900] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Apr 14, 2020 19:21:46.511 [0x810c89900] INFO - CodecManager: starting EAE at "/tmp/pms-2d8c4417-9221-4b88-9f17-9ca42c851932/EasyAudioEncoder"
Apr 14, 2020 19:21:46.511 [0x810c89900] DEBUG - Job running: '/config/Plex Media Server/Codecs/EasyAudioEncoder-652-freebsd-x86_64/EasyAudioEncoder/EasyAudioEncoder'
Apr 14, 2020 19:21:46.511 [0x810c89900] DEBUG - Jobs: Starting child process with pid 9580
Apr 14, 2020 19:21:46.512 [0x810c89900] DEBUG - [Universal] Using local file path instead of URL: /media/Movies/Wonder Woman/Wonder Woman_t00.mkv
Apr 14, 2020 19:21:46.512 [0x810c89900] DEBUG - TPU: hardware transcoding: zero-copy support not present
Apr 14, 2020 19:21:46.512 [0x810c89900] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:

Ich bin ein Idiot.

Goshdarnit. Sorry for wasting your time. I enabled ruleset 110, I did not make the plex user part of the video group when testing.

I need to automate this so I don’t forget.

1 Like

That is making a bit more sense! And hey I’ve been there :stuck_out_tongue:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.