Transcoding is completely broken when video is using Dolby Vision with Profile 5. This completely breaks Optical SPDIF/Toslink audio output for DV movies due to broken transcoding

Server Version#: 1.26.0.5715
Player Version#: 9.0.6.31998

It seems that any kind of transcoding is broken when the Video is using Dolby Vision with Profile 5 (Dolby Vision with higher profiles seem to work fine). Even when only the audio should be transcoded, it still tries to transcode the Dolby Vision video for some reason. In my case I’m using an Optical SPDIF/Toslink audio output, so audio gets transcoded almost for every movie, making all DV with Profile 5 unplayable. Why is this happening? Is there some way to fix this? Is this a known bug in Plex?

Here are the logs from Plex when trying to open a Dolby Vision with Profile 5 from my Android TV:

Apr 27, 2022 22:55:51.148 [0x7fb5936a7b38] DEBUG - Request: [192.168.1.30:59082 (Subnet)] GET /library/metadata/17025?includeChapters=1&includeLoudnessRamps=1&includeMarkers=1&includeRelated=1 (12 live) TLS GZIP Signed-in Token (rkk) (Living Room TV) / Accept => application/xml / Accept-Encoding => gzip / Accept-Language => en-gb / Connection => Keep-Alive / Host => 192.168.250.252:32400 / User-Agent => PlexTV/9.1.0.32210 (Linux;Android 9; TPM191E) ExoPlayerLib/2.17.1 / X-Plex-Advertising-DoNotTrack => 0 / X-Plex-Advertising-Identifier => e992ba0b-a00a-4ec3-8e1b-572ce094837d / X-Plex-Client-Identifier => 3d93d3f21bfd6bbb-com-plexapp-android / X-Plex-Device => TPM191E / X-Plex-Device-Name => Living Room TV / X-Plex-Device-Screen-Density => 320 / X-Plex-Device-Screen-Resolution => 1920x1080 (Android TV) / X-Plex-Device-Vendor => Philips / X-Plex-DRM => widevine:video / X-Plex-Features => external-media,indirect-media / X-Plex-Language => en-gb / X-Plex-Model => PH9M_EA_5599 / X-Plex-Platform => Android / X-Plex-Platform-Version => 9 / X-Plex-Product => Plex for Android (TV) / X-Plex-Provider-Version => 5.1.0 / X-Plex-Provides => player,pubsub-player,controller / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 9.1.0.32210
Apr 27, 2022 22:55:51.176 [0x7fb5936a7b38] DEBUG - It took 30.000000 ms to retrieve 432 items.
Apr 27, 2022 22:55:51.192 [0x7fb5936a7b38] DEBUG - It took 10.000000 ms to retrieve 432 items.
Apr 27, 2022 22:55:51.193 [0x7fb5936a7b38] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.193 [0x7fb5936a7b38] DEBUG - Selecting best audio stream for part ID 24961 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.193 [0x7fb5936a7b38] DEBUG - Audio Stream: 69090, Subtitle Stream: -1
Apr 27, 2022 22:55:51.203 [0x7fb5936a7b38] DEBUG - It took 0.000000 ms to retrieve 432 items.
Apr 27, 2022 22:55:51.465 [0x7fb5934b4b38] DEBUG - Request: [192.168.1.30:59086 (Subnet)] GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&directPlay=0&directStream=1&directStreamAudio=1&fastSeek=1&hasMDE=1&location=lan&maxVideoBitrate=200000&mediaBufferSize=209664&mediaIndex=0&partIndex=0&path=%2Flibrary%2Fmetadata%2F17025&protocol=*&session=3d93d3f21bfd6bbb-com-plexapp-android&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160 (13 live) TLS GZIP Signed-in Token (rkk) (Living Room TV) / Accept => application/xml / Accept-Encoding => gzip / Accept-Language => en-gb / Connection => Keep-Alive / Host => 192.168.250.252:32400 / User-Agent => PlexTV/9.1.0.32210 (Linux;Android 9; TPM191E) ExoPlayerLib/2.17.1 / X-Plex-Advertising-DoNotTrack => 0 / X-Plex-Advertising-Identifier => e992ba0b-a00a-4ec3-8e1b-572ce094837d / X-Plex-Client-Identifier => 3d93d3f21bfd6bbb-com-plexapp-android / X-Plex-Client-Identifier => 3d93d3f21bfd6bbb-com-plexapp-android / X-Plex-Client-Platform => Android / X-Plex-Client-Profile-Extra => add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=52)+add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.width&value=3840&replace=true)+add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.height&value=2160&replace=true)+add-transcode-target(type=videoProfile&context=streaming&protocol=hls&container=mkv&videoCodec=h264,hevc,mpeg2video&audioCodec=ac3,dca,wmav1,wmav2,wmalossless,wmapro,wmavoice&subtitleCodec=ass,pgs,subrip,dvd_subtitle,mov_text,vtt,dvb_subtitle&replace=true)+add-transcode-target-settings(type=videoProfile&context=streaming&protocol=hls&CopyMatroskaAttachments=true)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=mp3)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=ac3)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=dca)+add-limitation(scope=videoCodec&scopeName=*&type=NotMatch&name=video.anamorphic&value=999&replace=true)+add-transcode-target(type=subtitleProfile&context=streaming&protocol=http&container=mkv&subtitleCodec=srt)+append-transcode-target-codec(type=videoProfile&context=streaming&protocol=hls&videoCodec=mpeg2video)+append-transcode-target-codec(type=videoProfile&context=streaming&protocol=hls&videoCodec=hevc)+add-limitation(scope=videoCodec&scopeName=hevc&type=Match&name=video.profile&list=main|main 10)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=streaming&protocol=hls&type=match&name=video.colorTrc&list=smpte2084|bt709|bt470m|smpte240m|smpte170m|bt470bg|bt2020-10&isRequired=false) / X-Plex-Device => TPM191E / X-Plex-Device => TPM191E / X-Plex-Device-Name => Living Room TV / X-Plex-Device-Screen-Density => 320 / X-Plex-Device-Screen-Resolution => 1920x1080 (Android TV) / X-Plex-Device-Vendor => Philips / X-Plex-DRM => widevine:video / X-Plex-Features => external-media,indirect-media / X-Plex-Language => en-gb / X-Plex-Model => PH9M_EA_5599 / X-Plex-Platform => Android / X-Plex-Platform => Android / X-Plex-Platform-Version => 9 / X-Plex-Platform-Version => 9 / X-Plex-Product => Plex for Android (TV) / X-Plex-Product => Plex for Android (TV) / X-Plex-Provider-Version => 5.1.0 / X-Plex-Provides => player,pubsub-player,controller / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx / X-Plex-Version => 9.1.0.32210 / X-Plex-Version => 9.1.0.32210
Apr 27, 2022 22:55:51.465 [0x7fb5934b4b38] DEBUG - [Transcode] Found session GUID of 3d93d3f21bfd6bbb-com-plexapp-android in session start.
Apr 27, 2022 22:55:51.465 [0x7fb5934b4b38] DEBUG - [Transcode] TranscodeUniversalRequest: using augmented profile Android
Apr 27, 2022 22:55:51.465 [0x7fb5934b4b38] DEBUG - [Transcode] Downloading document http://127.0.0.1:32400/library/metadata/17025?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=3d93d3f21bfd6bbb-com-plexapp-android
Apr 27, 2022 22:55:51.473 [0x7fb5934b4b38] DEBUG - [Transcode] It took 20.000000 ms to retrieve 432 items.
Apr 27, 2022 22:55:51.482 [0x7fb5934b4b38] DEBUG - [Transcode] It took 0.000000 ms to retrieve 432 items.
Apr 27, 2022 22:55:51.483 [0x7fb5934b4b38] DEBUG - [Transcode] We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.483 [0x7fb5934b4b38] DEBUG - [Transcode] Selecting best audio stream for part ID 24961 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.483 [0x7fb5934b4b38] DEBUG - [Transcode] Audio Stream: 69090, Subtitle Stream: -1
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: Selected protocol hls; container: mkv
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: analyzing media item 23120
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): Direct Play is disabled
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): media must be transcoded in order to use the hls protocol
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): selected audio stream is not the first audio stream and direct play stream selection is not enabled
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): no direct play video profile exists for http/mkv/hevc
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): no direct play video profile exists for http/mkv/hevc/eac3
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): no direct play video profile exists for http/mkv/hevc/eac3
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: Cannot direct stream audio stream due to codec eac3 when profile only allows ac3
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] DEBUG - [Transcode] MDE: The Movie (2020): selected media 0 / 23120
Apr 27, 2022 22:55:51.485 [0x7fb5934b4b38] ERROR - [Transcode] Streaming Resource: Cannot make a decision because either the file is unplayable or the client provided bad data
Apr 27, 2022 22:55:51.486 [0x7fb5934b4b38] DEBUG - [Transcode] Streaming Resource: Reached Decision id=17025 codes=(General=2000,Neither direct play nor conversion is available. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=2003,File is unplayable. Color space is not supported.) media=(id=23120 part=(id=24961 decision=none container=mkv protocol=hls streams=(Video=(id=69088 decision=copy width=3840 height=1606) Audio=(id=69090 decision=transcode bitrate=640 encoder=ac3 channels=6 rate=48000))))
Apr 27, 2022 22:55:51.486 [0x7fb5999f4b38] DEBUG - Completed: [192.168.1.30:59086] 200 GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&directPlay=0&directStream=1&directStreamAudio=1&fastSeek=1&hasMDE=1&location=lan&maxVideoBitrate=200000&mediaBufferSize=209664&mediaIndex=0&partIndex=0&path=%2Flibrary%2Fmetadata%2F17025&protocol=*&session=3d93d3f21bfd6bbb-com-plexapp-android&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160 (13 live) TLS GZIP 21ms 688 bytes (pipelined: 1)
Apr 27, 2022 22:55:51.541 [0x7fb5936a7b38] DEBUG - It took 0.000000 ms to retrieve 108 items.
Apr 27, 2022 22:55:51.543 [0x7fb5936a7b38] DEBUG - It took 0.000000 ms to retrieve 102 items.
Apr 27, 2022 22:55:51.549 [0x7fb5936a7b38] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.549 [0x7fb5936a7b38] DEBUG - Selecting best audio stream for part ID 20709 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.549 [0x7fb5936a7b38] DEBUG - Audio Stream: 43678, Subtitle Stream: -1
Apr 27, 2022 22:55:51.549 [0x7fb5936a7b38] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.549 [0x7fb5936a7b38] DEBUG - Selecting best audio stream for part ID 17061 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.549 [0x7fb5936a7b38] DEBUG - Audio Stream: 35518, Subtitle Stream: -1
Apr 27, 2022 22:55:51.550 [0x7fb5936a7b38] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.550 [0x7fb5936a7b38] DEBUG - Selecting best audio stream for part ID 18393 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.550 [0x7fb5936a7b38] DEBUG - Audio Stream: 38520, Subtitle Stream: -1
Apr 27, 2022 22:55:51.551 [0x7fb5936a7b38] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.551 [0x7fb5936a7b38] DEBUG - Selecting best audio stream for part ID 18697 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.551 [0x7fb5936a7b38] DEBUG - Audio Stream: 39356, Subtitle Stream: -1
Apr 27, 2022 22:55:51.551 [0x7fb5936a7b38] DEBUG - We're going to try to auto-select an audio stream for account 1.
Apr 27, 2022 22:55:51.551 [0x7fb5936a7b38] DEBUG - Selecting best audio stream for part ID 17629 (autoselect: 1 language: en)
Apr 27, 2022 22:55:51.551 [0x7fb5936a7b38] DEBUG - Audio Stream: 36568, Subtitle Stream: -1
Apr 27, 2022 22:55:51.555 [0x7fb5999d1b38] DEBUG - Completed: [192.168.1.30:59082] 200 GET /library/metadata/17025?includeChapters=1&includeLoudnessRamps=1&includeMarkers=1&includeRelated=1 (13 live) TLS GZIP 407ms 17696 bytes (pipelined: 1)

And here is the meta information for the movie that fails to play:

Media
Duration 2:00:00
Bitrate 18740 kbps
Width 3840
Height 2160
Aspect Ratio 1.78
Video Resolution 4K
Container MP4
Video Frame Rate 24p
Web Optimized Yes
Has 64bit Offsets true
Video Profile main 10
Part
Duration 2:00:00
File Movie1.mp4
Size 23.06 GB
Container MP4
Has 64bit Offsets true
Indexes sd
Web Optimized Yes
Video Profile main 10
Codec HEVC
Bitrate 17967 kbps
D O V I B L Present true
D O V I Level 6
D O V I Present true
D O V I Profile 5
D O V I R P U Present true
D O V I Version 1.0
Bit Depth 10
Chroma Location left
Chroma Subsampling 4:2:0
Codec ID dvhe
Coded Height 2160
Coded Width 3840
Color Range pc
Frame Rate 23.976 fps
Height 2160
Level 5.0
Profile main 10
Ref Frames 1
Stream Identifier 1
Width 3840
Display Title 4K DoVi (HEVC Main 10)
Extended Display Title 4K DoVi (HEVC Main 10)
Codec EAC3
Channels 6
Bitrate 768 kbps

DV Profile 5 videos have no HDR fallback layer.
It is not possible to colormap these files at this time.

Profile 5 videos were created for “streaming only” by their creators.

The higher levels (profile 6, etc) contain the HDR layer.
That HDR layer (BT2020) is what’s used to colormap back to BT709 (SDR) colorspace.

2 Likes

@ChuckPa Thank you for the answer. But what does the color profile have to do when only audio is required to be transcoded and the video just copied? (No video transcoding) Why is the Plex transcoder still trying to find the color profile when it should just copy the video stream? Or is it related to HLS streaming in some way? Thanks!

HLS Streaming - YUCK. It did that to me.

If the player requires HLS in the same way Apple requires f`MP4, the transcoding will be engaged and yes, there goes the colormap.

This is why Profile 5 is evil

1 Like

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