When a movie is H264+EAC3, it transcodes the audio and ‘copies’ the video. So far so good.
When a movie is H265+EAC3, it transcodes both video and audio.
When a movie is H265+DTS, AC3, AAC it does directplay of both video and audio without problems.
I understand that it’s transcoding the EAC3 audio because my android box can’t decode it. But why is it transcoding the H265 video, when it can play it directly when a compatible audio stream (like aac) is selected? Shouldn’t it behave the same as in the H264+EAC3 case? So copy video and transcode audio?
On my phone, it does work correctly and copies the H265 and transcodes the EAC3.
I’ve seen this topic about it, but it had no solutions unfortunately:
Edit: I tried to play back the same movie file on the same device. But not with plex app, but with kodi app (streamed via smb so no transcoding by any server). That plays back fine.
Likely going to need your server and client logs for the video causing the issue. They have the reasons why the MDE (Media Decision Engine) decides to transcode.
I attached the logs in the OP. I played the movie ‘Goodfellas’ just before.
If I deciphered the client log correctly, it seems to think the movie has a bitrate of 400 Mbit. And then something about a 200 Mbit limit. Could that be it?
Player is not HDR capable (MAIN 10). It’s only SDR (Main)
The player does not support EAC3.
The client app is asserting a bandwidth utilization limit.
Mar 18, 2022 19:22:11.780 [0x7f137f913b38] DEBUG - [Transcode] It took 10.000000 ms to retrieve 171 items.
Mar 18, 2022 19:22:11.792 [0x7f137f913b38] DEBUG - [Transcode] It took 10.000000 ms to retrieve 171 items.
Mar 18, 2022 19:22:11.794 [0x7f137f913b38] DEBUG - [Transcode] We're going to try to auto-select a subtitle.
Mar 18, 2022 19:22:11.795 [0x7f137f913b38] DEBUG - [Transcode] Selected a foreign audio track: en
Mar 18, 2022 19:22:11.795 [0x7f137f913b38] DEBUG - [Transcode] Audio Stream: 4580, Subtitle Stream: -1
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Selected protocol hls; container: mkv
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: analyzing media item 1653
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): Direct Play is disabled
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): media must be transcoded in order to use the hls protocol
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): no direct play video profile exists for http/mkv/hevc
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): no direct play video profile exists for http/mkv/hevc/eac3
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): no direct play video profile exists for http/mkv/hevc/aac
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): no direct play video profile exists for http/mkv/hevc/aac
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] Goodfellas - video.profile limitation applies: main 10 != main [list]
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] Goodfellas - video.profile limitation applies: main 10 != main [list]
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): no remuxable profile found, so video stream will be transcoded
Mar 18, 2022 19:22:11.802 [0x7f137f913b38] DEBUG - [Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Mar 18, 2022 19:22:11.803 [0x7f137f913b38] DEBUG - [Transcode] MDE: Cannot direct stream audio stream due to codec eac3 when profile only allows opus
Mar 18, 2022 19:22:11.803 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): selected media 0 / 1653
Mar 18, 2022 19:22:11.803 [0x7f137f913b38] DEBUG - [Transcode] Streaming Resource: Required bandwidth unknown (media requires deep analysis) Changing decision parameters provided by client to fit bandwidth limit of 200000kbps
Mar 18, 2022 19:22:11.803 [0x7f137f913b38] DEBUG - [Transcode] Streaming Resource: Determining preferred transcode encoders through transcode only decision.
Mar 18, 2022 19:22:11.804 [0x7f137f913b38] DEBUG - [Transcode] Streaming Resource: Reducing playback quality for 190476kbps stream bitrate: video resolution to 1920x1080, audio channels to 6, quality to 99
Mar 18, 2022 19:22:11.805 [0x7f137f913b38] DEBUG - [Transcode] MDE: Selected protocol hls; container: mkv
Mar 18, 2022 19:22:11.805 [0x7f137f913b38] DEBUG - [Transcode] MDE: analyzing media item 1653
Mar 18, 2022 19:22:11.805 [0x7f137f913b38] DEBUG - [Transcode] MDE: Goodfellas (1990): Direct Pla
H.265 Main 10 supports 8 or 10 bit samples; it’s required for HDR, but it’s also more efficient and banding resistant when used for SDR. There’s lots of H.265 Main 10 SDR content.
Main 10 is High Dynamic Range (10 bit)
Main is Standard Dynamic Range (8 bit)
Screen-Extended Main
The Screen-Extended Main profile allows for a bit depth of 8 bits per sample with support for 4:0:0 and 4:2:0 chroma sampling. HEVC decoders that conform to the Screen-Extended Main profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, and Screen-Extended Main.[148]
Screen-Extended Main 10
The Screen-Extended Main 10 profile allows for a bit depth of 8 bits to 10 bits per sample with support for 4:0:0 and 4:2:0 chroma sampling. HEVC decoders that conform to the Screen-Extended Main 10 profile must be capable of decoding bitstreams made with the following profiles: Monochrome, Main, Main 10, Screen-Extended Main, and Screen-Extended Main 10.[148]
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Now I will be entirely upfront and admit that I don’t know exactly what video the OP was talking about, and so that video may well have been HDR.
I was just querying this specific statement
I’m 100% sure that Bit depth has no direct bearing on HDR.
I’ve been encoding my files in 10Bit x265 for some years now, and of course 99.9% of them are not HDR, but SDR.
The reason I have been doing this for some time now is because I learnt early on that 10Bit dramatically reduces colour banding, simply because there are more bits (details) to play with.
video.profile limitation applies: main 10 != main [list]
That strongly implies that specific client can only plain main profile media. The whole HDR vs. SDR thing is a distraction - if the client can’t play main 10, it can’t play main 10.