Unnecessary Transcoding 4K - 1080

Server Version#: 1.40.0.7998
Player Version#: Roku Client v 7.14.6.8945

After upgrading to 1.40.0.7998 Plex stubbornly transcodes 4K HDR to 1080 due to unsupported video stream hvec hdr. The same occurs with newly obtained video files and others that used to direct play automatically before upgrading. The logs register the following for the unwarranted transcoding:

Feb 16, 2024 00:07:42.564 [140087386581816] DEBUG - [Req#3136d/Transcode] Streaming Resource: Reached Decision id=34885 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=89150 part=(id=95106 decision=transcode container=mkv protocol=http streams=(Video=(id=220300 decision=transcode bitrate=2147483647 encoder=libx264 width=1920 height=1080) Audio=(id=220302 decision=copy channels=6 rate=48000))))

Direct play is disabled is a false detection because the Direct Play setting globally in the client is Auto (same for the movie). If Direct Play is set to Force, the stream plays in original quality without issue.

The problem does not occur when playing in the Android TV client, where movies automatically direct play in 4K HDR.

Poor transcoding after 1.40.0.7998 update may be related.

That does not mean direct play is disabled on the client.

It means PMS tried to direct play, could not, and moved on to direct streaming / transcoding.

Not sure why the media is transcoding. I’m not familiar with Roku devices. Just wanted to explain the “Direct play is disabled” entry.

Suggest you upload a full set of server log files that capture the problem. It is not possible to troubleshoot from one line of log files.

Thanks for the clarification. This is the full examination of the media file by the server leading to the transcoding decision. Before starting playback Direct Play is set to Auto and the selected audio stream is AC3 5.1. The other available stream is TrueHD 7.1.

Feb 16, 2024 00:07:42.557 [140087386581816] DEBUG - [Req#3136d/Transcode] Audio Stream: 220302, Subtitle Stream: 0
Feb 16, 2024 00:07:42.558 [140087386581816] DEBUG - [Req#3136d/Transcode] Audio Stream: 220302, Subtitle Stream: -1
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Selected protocol http; container: mkv
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: analyzing media item 89150
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): Direct Play is disabled
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): selected audio stream is not the first audio stream and direct play stream selection is not enabled
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no direct play video profile exists for http/mkv/hevc
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no direct play video profile exists for http/mkv/hevc/truehd
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no direct play video profile exists for http/mkv/hevc/ac3
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] Zack Snyder's Justice League - video.colorTrc limitation applies: smpte2084 != bt709|bt470m|bt470bg|smpte170m|smpte240m|bt2020-10|bt2020-10 [list]
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no remuxable profile found, so video stream will be transcoded
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): Direct Play is disabled
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no direct play video profile exists for http/mkv/hevc
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no direct play video profile exists for http/mkv/hevc/truehd
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no direct play video profile exists for http/mkv/hevc/ac3
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] Zack Snyder's Justice League - video.colorTrc limitation applies: smpte2084 != bt709|bt470m|bt470bg|smpte170m|smpte240m|bt2020-10|bt2020-10 [list]
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): no remuxable profile found, so video stream will be transcoded
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Cannot direct stream audio stream due to codec truehd when profile only allows eac3
Feb 16, 2024 00:07:42.564 [140087386581816] DEBUG - [Req#3136d/Transcode] MDE: Zack Snyder's Justice League (2021): selected media 0 / 89150
Feb 16, 2024 00:07:42.564 [140087386581816] DEBUG - [Req#3136d/Transcode] Streaming Resource: Adding session 0x7f68a7979488:92d5b7f85fc320297365bf814006b6dc which is using transcoder slot.  Used slots is now 1
Feb 16, 2024 00:07:42.564 [140087386581816] DEBUG - [Req#3136d/Transcode] Streaming Resource: Added session 0x7f68a7979488:92d5b7f85fc320297365bf814006b6dc
Feb 16, 2024 00:07:42.564 [140087386581816] DEBUG - [Req#3136d/Transcode] Streaming Resource: Reached Decision id=34885 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=89150 part=(id=95106 decision=transcode container=mkv protocol=http streams=(Video=(id=220300 decision=transcode bitrate=2147483647 encoder=libx264 width=1920 height=1080) Audio=(id=220302 decision=copy channels=6 rate=48000))))

Cannot direct stream video stream due to profile or setting limitations is an interesting entry, but I wonder what in specific is it referring to.

If I set Direct Play to Force so that movie plays directly as expected the log simply registers:

Feb 16, 2024 01:14:11.341 [140087380519736] DEBUG - [Req#33320/Transcode] Audio Stream: 220302, Subtitle Stream: 0
Feb 16, 2024 01:14:11.342 [140087380519736] DEBUG - [Req#33320/Transcode] Audio Stream: 220302, Subtitle Stream: -1
Feb 16, 2024 01:14:11.347 [140087380519736] DEBUG - [Req#33320/Transcode] Streaming Resource: Added session 0x7f68a797ab38:92d5b7f85fc320297365bf814006b6dc
Feb 16, 2024 01:14:11.347 [140087380519736] DEBUG - [Req#33320/Transcode] Streaming Resource: Reached Decision id=34885 codes=(MDE=1000,**Direct play OK.**) media=(id=89150 part=(id=95106 decision=direct play protocol=http streams=(Video=(id=220300 decision= width=3840 height=2160) Audio=(id=220302 decision= channels=0 rate=0))))

Allow Direct Stream is also enabled globally in the client and for the movie.

Trying to correlate my logs to similar posts, looks like the critical entry is:

Feb 16, 2024 00:07:42.563 [140087386581816] DEBUG - [Req#3136d/Transcode] Zack Snyder’s Justice League - video.colorTrc limitation applies: smpte2084 != bt709|bt470m|bt470bg|smpte170m|smpte240m|bt2020-10|bt2020-10 [list]

Apparently Plex thinks that my display does not support smpte2084 / BT2084(?) / Dolby Vision(?) and therefore transcodes. The culprit for this misdetection may be any of the devices in the chain:
Roku — AV Receiver — TV. But I don’t feel like redoing connections to test and having to deal with HDMI handshake glitches. Guess for now I’ll just force direct play or simply watch on the TV app instead of in the Roku.

I found out that the problem is transitory. It just happens about every other time I use the Roku client. But if I exit out of the app (by pressing Exit in it) and go back in again, movies are direct played as expected.

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