I am having a problem with the latest beta (1.32.5.7516) transcoding HDR with an Nvidia P2000. Ubuntu 20.04 via docker (AMD 5600). I can make a separate issue if needed.
Video file info:
Media
Duration 47:05
Bitrate 2204 kbps
Width 1920
Height 1080
Aspect Ratio 1.78
Video Resolution 1080p
Container MKV
Video Frame Rate 24p
Video Profile main 10
Part
Duration 47:05
File Dear Child . S01E02 . Grandfather (WEBDL-1080p - h265 EAC3 Atmos) - LLL.mkv
Size 743.79 MB
Container MKV
Video Profile main 10
Codec HEVC
Bitrate 1459 kbps
D O V I B L Present true
D O V I Level 3
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
Coded Height 1080
Coded Width 1920
Color Range pc
Frame Rate 24 fps
Height 1080
Level 4.0
Profile main 10
Ref Frames 1
Width 1920
Display Title 1080p DoVi (HEVC Main 10)
Extended Display Title 1080p DoVi (HEVC Main 10)
Codec EAC3
Channels 6
Bitrate 744 kbps
Language German
Language Tag de
Audio Channel Layout 5.1(side)
Sampling Rate 48000 Hz
Display Title German (EAC3 5.1)
Extended Display Title German (EAC3 5.1)
When trying to play in browser I get an error:
File is unplayable. Color space is not supported.
When playing via windows app:
Cannot convert this item. No conversion audio and video encoders could be found in app profile.
When playing on an Nvidia Shield on an HDR TV (which should direct play):
Unable to play media
nvidia shield client logs:
09-18 16:47:09.899 i: [PlaybackManager] Preparing for Dear Child - S1 • E2
09-18 16:47:09.900 i: [PlaybackManager] Item doesn't have streams, having to download...
09-18 16:47:09.902 i: [Download Item] Downloading item with uri server://7ba53ac44bc4be0528ac85bae0a99c1f776dc04a/com.plexapp.plugins.library/library/metadata/1851306?asyncAugmentMetadata=1&checkFiles=1&includeExtras=1&includeReviews=1
09-18 16:47:09.903 i: Fetching [method:GET] https://192.168.0.178:32400/library/metadata/1851306?asyncAugmentMetadata=1&checkFiles=1&includeExtras=1&includeReviews=1&X-Plex-Token=...RqbV&X-Plex-Language=en-us
09-18 16:47:09.942 i: [PlaybackManager] Audio codec required: eac3
09-18 16:47:09.942 i: [DefaultPlaybackManager] No codecs being downloaded.
09-18 16:47:09.943 i: [PlayQueues] Creating delayed remote PQ.
09-18 16:47:09.964 i: [PlayerService] Service has been created.
09-18 16:47:09.969 i: [PlayerService] Service is being initialised.
09-18 16:47:09.970 i: [Player] Changing to use ExoPlayer for playback.
09-18 16:47:10.023 i: [LoadControl] Setting buffer size to 73.19 MB / 0 seconds.
09-18 16:47:10.028 i: [ExoPlayer][ExoPlayerImpl] Init f0b9696 [AndroidXMedia3/1.1.0] [foster, SHIELD Android TV, NVIDIA, 30]
09-18 16:47:10.030 i: [AudioCapabilitiesHelper] Passthrough is set to auto over HDMI, supported capabilities:
09-18 16:47:10.036 i: [ExoPlayerEngine] Constructed ExoPlayer to use a background looper.
09-18 16:47:10.060 i: [MemoryOptimisationBehaviour] Reducing memory cache.
09-18 16:47:10.063 i: [PictureInPictureBehaviour] Picture-in-picture unavailable as the activity is missing.
09-18 16:47:10.064 i: [MediaSessionHelper] Starting media session with tag: video
09-18 16:47:10.064 i: [MediaSessionHelper] Creating media session with tag: video
09-18 16:47:10.088 i: [CurrentItemMetadataBehaviour] Fetching current item
09-18 16:47:10.090 i: [MediaSessionBehaviour] Current item has changed
09-18 16:47:10.090 i: [MediaSessionBehaviour] Updating metadata for video.
09-18 16:47:10.094 i: [InteractionBehaviour] Slept, reason: Startup.
09-18 16:47:10.098 i: [PictureInPictureBehaviour] Picture-in-picture unavailable as the activity is missing.
09-18 16:47:10.102 i: [ExoPlayer][EventLogger] surfaceSize [eventTime=0.06, mediaPos=0.00, window=0, 0, 0]
09-18 16:47:10.110 i: [Player][ExoPlayer] Setting given surfaceView
09-18 16:47:10.110 i: [VideoAwakeBehaviour] Keep screen awake has been requested disabled for VideoAwakeBehaviour.
09-18 16:47:10.110 i: [DisplayBehaviour] New ExoPlayerEngine detected, enabling: false.
09-18 16:47:10.111 i: [Player][ExoPlayer] Using PlayQueueMediaSource
09-18 16:47:10.111 i: [ExoPlayerEngine] Media source has been created.
09-18 16:47:10.111 i: [MediaCodecVideoSyncRenderer] Setting allow dummy surface: false
09-18 16:47:10.111 i: [ExoPlayer][EventLogger] playWhenReady [eventTime=0.08, mediaPos=0.00, window=0, true, USER_REQUEST]
09-18 16:47:10.112 i: [ExoPlayer][EventLogger] positionDiscontinuity [eventTime=0.08, mediaPos=1329.48, window=0, reason=SEEK, PositionInfo:old [mediaItem=0, period=-1, pos=0], PositionInfo:new [mediaItem=0, period=-1, pos=1329479]]
09-18 16:47:10.112 i: [Player][ExoPlayer] onPositionDiscontinuity, Reason: 1
09-18 16:47:10.112 i: [LoadControl] Setting buffer size to 73.19 MB / 0 seconds.
09-18 16:47:10.116 i: [CurrentItemMetadataBehaviour] Fetched current item, success: true
09-18 16:47:10.122 i: [ExoPlayer][EventLogger] timeline [eventTime=0.09, mediaPos=1329.48, window=0, periodCount=1, windowCount=1, reason=PLAYLIST_CHANGED
09-18 16:47:10.122 i: [ExoPlayer][EventLogger] period [?]
09-18 16:47:10.122 i: [PlayerService] Service has been started successfully.
09-18 16:47:10.123 i: [ExoPlayer][EventLogger] window [?, seekable=false, dynamic=true]
09-18 16:47:10.123 i: [ExoPlayer][EventLogger] ]
09-18 16:47:10.123 i: [Player][ExoPlayer] onTimelineChanged (Position: 0 ms, Duration: 0 ms)
09-18 16:47:10.123 i: [ExoPlayer][EventLogger] mediaItem [eventTime=0.09, mediaPos=1329.48, window=0, reason=PLAYLIST_CHANGED]
09-18 16:47:10.124 i: [ExoPlayer][EventLogger] state [eventTime=0.09, mediaPos=1329.48, window=0, BUFFERING]
09-18 16:47:10.124 i: [LoadControl] Setting buffer size to 73.19 MB / 0 seconds.
09-18 16:47:10.127 i: [MediaDecisionEngine] Starting media decision for: Dear Child - S1 • E2 (part index 0)
09-18 16:47:10.128 i: [MediaDecisionEngine] Provided video item has no streams, checking files...
09-18 16:47:10.128 i: Fetching [method:GET] https://192.168.0.178:32400/library/metadata/1851306?checkFiles=1&includeChapters=1&X-Plex-Token=...RqbV&X-Plex-Language=en-us
09-18 16:47:10.148 i: [MediaDecisionEngine] Transcode server selected: PlexServer
09-18 16:47:10.149 i: [MediaDecisionEngine] Analyzing media: 1920x1080 2204kbps (Container: mkv, Video: hevc, Audio: eac3)
09-18 16:47:10.170 i: Creating PlayerActivity.
09-18 16:47:10.171 i: [Activity] Resuming the application, attempting to download item and children.
09-18 16:47:10.171 i: [Boot] PlayerActivity took 1ms to run create behaviours.
09-18 16:47:10.183 i: Resuming PlayerActivity.
09-18 16:47:10.184 i: [PlayerActivity] Creating fragment
09-18 16:47:10.187 i: [MediaDecisionEngine] Unable to direct play; E-AC-3 audio is not supported by the device
09-18 16:47:10.187 i: [Player][DimensionsLayout] Resizing: 100 x 100
09-18 16:47:10.188 i: [DisplayBehaviour] Activity has been changed, searching for available modes.
09-18 16:47:10.189 i: [DisplayBehaviour] Current Mode ID: 17 / {id=17, width=3840, height=2160, fps=59.94006}
09-18 16:47:10.189 i: [DisplayBehaviour] Current mode detected as 3840x2160 @ 59.9401Hz (17).
09-18 16:47:10.190 i: [PictureInPictureBehaviour] Picture-in-picture is available and can be used.
09-18 16:47:10.190 i: [MediaDecisionEngine] Selected subtitle (srt) can be direct played (via Transcode? true)
09-18 16:47:10.191 i: [VideoAwakeBehaviour] Keep screen awake has been requested disabled for VideoAwakeBehaviour.
09-18 16:47:10.199 i: [video] User maximum h264 profile determined: 52
09-18 16:47:10.199 i: [video] Device recommended h264 profile determined: 52
09-18 16:47:10.264 i: [BufferHelper] Assumed Bitrate: 400000, Segment Count: 46875
09-18 16:47:10.264 i: [BufferHelper] Detected memory pressure, reducing segment count to fit available memory: 512
09-18 16:47:10.264 i: [BufferHelper] Segment count: 3276
09-18 16:47:10.266 i: Fetching [method:GET] https://192.168.0.178:32400/video/:/transcode/universal/decision?advancedSubtitles=text&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%2F1851306&protocol=*&session=9870577506976a72-com-plexapp-android&subtitles=embedded&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160&X-Plex-Client-Identifier=9870577506976a72-com-plexapp-android&X-Plex-Client-Platform=Android&X-Plex-Client-Profile-Extra=add-limitation(scope%3DvideoCodec%26scopeName%3Dh264%26type%3DupperBound%26name%3Dvideo.level%26value%3D52)%2Badd-limitation(scope%3DvideoCodec%26scopeName%3D*%26type%3DupperBound%26name%3Dvideo.width%26value%3D3840%26replace%3Dtrue)%2Badd-limitation(scope%3DvideoCodec%26scopeName%3D*%26type%3DupperBound%26name%3Dvideo.height%26value%3D2160%26replace%3Dtrue)%2Badd-limitation(scope%3DvideoCodec%26scopeName%3Dhevc%26type%3DnotMatch%26name%3Dvideo.DOVIProfile%26value%3D5)%2Badd-transcode-target(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26container%3Dmkv%26videoCodec%3Dh264%2Chevc%2Cmpeg2video%26audioCodec%3Daac_latm%2Caac%2Caac%2Cac3%2Calac%2Cdca%2Cflac%2Cmp1%2Cmp2%2Cmp3%2Copus%2Cvorbis%2Cwmav1%2Cwmav2%2Cwmalossless%2Cwmapro%2Cwmavoice%26subtitleCodec%3Dass%2Cpgs%2Csubrip%2Cdvd_subtitle%2Cmov_text%2Cvtt%2Cdvb_subtitle%26replace%3Dtrue)%2Badd-transcode-target-settings(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26CopyMatroskaAttachments%3Dtrue)%2Badd-limitation(scope%3DvideoAudioCodec%26scopeName%3Daac%26type%3DupperBound%26name%3Daudio.channels%26value%3D8%26replace%3Dtrue)%2Badd-transcode-target-audio-codec(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26audioCodec%3Dmp3)%2Badd-transcode-target-audio-codec(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26audioCodec%3Dac3)%2Badd-transcode-target-audio-codec(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26audioCodec%3Ddca)%2Badd-transcode-target-audio-codec(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26audioCodec%3Dopus)%2Badd-limitation(scope%3DvideoCodec%26scopeName%3D*%26type%3DNotMatch%26name%3Dvideo.anamorphic%26value%3D999%26replace%3Dtrue)%2Badd-transcode-target(type%3DsubtitleProfile%26context%3Dstreaming%26protocol%3Dhttp%26container%3Dmkv%26subtitleCodec%3Dsrt)%2Bappend-transcode-target-codec(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26videoCodec%3Dmpeg2video)%2Bappend-transcode-target-codec(type%3DvideoProfile%26context%3Dstreaming%26protocol%3Dhls%26videoCodec%3Dhevc)%2Badd-limitation(scope%3DvideoCodec%26scopeName%3Dhevc%26type%3DMatch%26name%3Dvideo.profile%26list%3Dmain%7Cmain%2010)%2Badd-limitation(scope%3DvideoTranscodeTarget%26scopeName%3Dhevc%26scopeType%3DvideoCodec%26context%3Dstreaming%26protocol%3Dhls%26type%3Dmatch%26name%3Dvideo.colorTrc%26list%3Dsmpte2084%7Cbt709%7Cbt470m%7Csmpte240m%7Csmpte170m%7Cbt470bg%7Cbt2020-10%26isRequired%3Dfalse)&X-Plex-Device=SHIELD%20Android%20TV&X-Plex-Platform=Android&X-Plex-Platform-Version=11&X-Plex-Product=Plex%20for%20Android%20(TV)&X-Plex-Version=9.31.0.3817&X-Plex-Token=...RqbV&X-Plex-Language=en-us
09-18 16:47:10.308 i: [PictureInPictureBehaviour] Picture-in-picture is available and can be used.
09-18 16:47:10.310 i: [PictureInPictureBehaviour] Picture-in-picture is available and can be used.
09-18 16:47:10.327 i: [PictureInPictureBehaviour] Picture-in-picture is available and can be used.
09-18 16:47:10.335 i: [ChaptersSheetHud] Found 2 chapters.
09-18 16:47:10.336 i: [ChaptersSheetHud] Found 2 chapters.
09-18 16:47:10.336 i: [ChaptersSheetHud] Found 2 chapters.
09-18 16:47:10.346 i: [MenuSheetHud] Item changed (and fetched), invalidating settings...
09-18 16:47:10.460 i: [Player][View] Layout has been measured with a size of 1920 x 1080 (1920 x 1080).
09-18 16:47:10.460 i: [Player][DimensionsLayout] Resizing: 1920 x 1080
09-18 16:47:10.467 i: [ExoPlayer][EventLogger] surfaceSize [eventTime=0.43, mediaPos=1329.48, window=0, period=0, 1920, 1080]
09-18 16:47:10.468 i: [ASS][Renderer] Surface has been created, connecting to renderer.
09-18 16:47:10.468 i: [ASS][Renderer] Attempting to start renderer from setSurface.
09-18 16:47:10.469 w: [ASS][Renderer] Missing video size, can't start renderer yet.
09-18 16:47:10.490 i: [SystemUIBehaviour] Hiding the system user-interface.
09-18 16:47:10.738 i: [MediaDecisionEngine] Server was unhappy with client's original decision: Neither direct play nor conversion is available.
09-18 16:47:10.772 i: [MediaDecisionEngine] Decision: CanPlay: false CanDirectPlay: false CanDirectStreamVideo: false CanDirectStreamAudio: false CanDirectPlaySubtitle: false CanTranscodeSubtitle: false CanDisplayVideo: false Transcode Reason: null
09-18 16:47:10.784 e: [ExoPlayer][ExoPlayerImplInternal] Playback error
androidx.media3.exoplayer.ExoPlaybackException: Source error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(SourceFile:17)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(SourceFile:284)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.io.IOException
at dh.y.maybeThrowSourceInfoRefreshError(SourceFile:21)
at dh.e0.maybeThrowSourceInfoRefreshError(Unknown Source:2)
at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(SourceFile:13)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(SourceFile:175)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(SourceFile:226)
... 3 more
09-18 16:47:10.786 i: [LoadControl] Setting buffer size to 73.19 MB / 0 seconds.
09-18 16:47:10.808 e: [ExoPlayer][EventLogger] playerFailed [eventTime=0.77, mediaPos=1329.48, window=0, period=0, errorCode=ERROR_CODE_IO_UNSPECIFIED
androidx.media3.exoplayer.ExoPlaybackException: Source error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(SourceFile:17)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(SourceFile:284)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.io.IOException
at dh.y.maybeThrowSourceInfoRefreshError(SourceFile:21)
at dh.e0.maybeThrowSourceInfoRefreshError(Unknown Source:2)
at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(SourceFile:13)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(SourceFile:175)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(SourceFile:226)
... 3 more
]
09-18 16:47:10.808 e: [Player][ExoPlayer] Playback error detected
09-18 16:47:10.810 e: An exception occurred: androidx.media3.exoplayer.ExoPlaybackException: Source error
09-18 16:47:10.810 e: Stacktrace: androidx.media3.exoplayer.ExoPlaybackException: Source error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(SourceFile:17)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(SourceFile:284)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.io.IOException
at dh.y.maybeThrowSourceInfoRefreshError(SourceFile:21)
at dh.e0.maybeThrowSourceInfoRefreshError(Unknown Source:2)
at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(SourceFile:13)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(SourceFile:175)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(SourceFile:226)
... 3 more
09-18 16:47:10.814 i: [Player][Timeline] Handling player error
09-18 16:47:10.815 i: [Player][Timeline] Playback stopped (error: true)
09-18 16:47:10.816 i: [Player][Timeline] Player error not known by server, reporting original player error (or a playback interrupted one)
09-18 16:47:10.818 i: [Player] Error reported: ServerDecisionError (null)
09-18 16:47:10.820 i: [Player][Timeline] Playback stopped (error: false)
09-18 16:47:10.828 i: [TranscodeSession] Stopping...
09-18 16:47:10.829 i: [TranscodeSession] Session already stopped.
09-18 16:47:10.846 i: [Player][Error] Displaying player error...
09-18 16:47:10.856 i: [DialogBehaviour] Showing dialog.
It does play via Chromecast with Google TV on an HDR TV.
I do have tone mapping enabled
I’ll try to capture a server debug log and edit this post in a bit.