[How To] Apple TV 4k MKV 4k HEVC HDR Playback

apple-tv

#1

This guide outlines recommendations and requirements for “Direct Streaming” 4k HEVC HDR MKVs. This is a work in progress and subject to change. Feel free to provide any info on your findings and I will do my best to keep this post updated.

These settings should work for SDR 4k content as well.

MP4 should also work with these settings but it should direct play and not direct stream. Apple does require fragmented MP4 for streaming so you may see it remux from MP4 to MP4.

Basic requirements: You need a 4k capable device (ie. Apple TV 4k) and a 4k HDR TV/Projector

Current Known Working Versions:

tvOS: 11.2.6, 11.3+ tvOS Plex app : 1.26+ PMS: 1.13.0.5003+

Apple TV 4k Settings:

  • Video and Audio
    • Video
      • Format - HDR / Enable HDR or SDR as of ATV Plex app Version 1.26
      • Chroma - Either is fine
      • Match Content
        • Range (Optional but recommended) (Required if SDR is set under the ATV settings)
        • Frame Rate (Optional but recommended)

tvOS Plex Settings:

  • Settings
    • Video Quality
    • Home Streaming - Maximum
    • Internet Streaming - Maximum (Only if you wish to view 4k content over the internet, Not needed on your home network)

Tips

List of Known Issues:

If all goes well you should see a direct stream of 4k HDR content on the server.

Edit (4/4/18): Some problems have been solved. Changes made to the post to reflect current status.

Edit (4/5/18): No audio issue update.

Edit (4/19/18): Audio Issue update

Edit (5/6/18): Updates to known issues.

Edit (6/24/18): Updated links post forum migration.


#2

To clarify... in MKV container?
With HEVC10 format?


#3

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.


#4

Thank you so much for the reply, those are the settings I have, but I still have trouble with 4K movies. They play just fine in VLC for apple tv, but VLC doesn't support TrueHD & Atmos audio.


#5

@AlbertsAppletv said:
Thank you so much for the reply, those are the settings I have, but I still have trouble with 4K movies. They play just fine in VLC for apple tv, but VLC doesn't support TrueHD & Atmos audio.

it's not that VLC does not support it. Apple does not support it on the apple TV.

From the apple TV 4k spec sheet: https://www.apple.com/apple-tv-4k/specs/

"HE-AAC (V1), AAC (up to 320 Kbps), protected AAC (from iTunes Store), MP3 (up to 320 Kbps), MP3 VBR, Apple Lossless, FLAC, AIFF, and WAV; AC-3 (Dolby Digital 5.1) and E-AC-3 (Dolby Digital Plus 7.1 surround sound)"

What trouble are you having with playback?


#6

@WatchTowerPlex said:

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.

WOW it is. So MKV, HEVC doing good. This is pretty big news!

However... HEVC main10 seems to be a mixed bag..

HEVC10 working fine:

Forced true
Codec HEVC
Bitrate 14191 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 800
Level 5.2
Profile main 10
Ref Frames 1
Width 1920

HEVC10 doesn't work: Lower profile level, and different color range.

Forced true
Codec HEVC
Bitrate 14514 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 5.1
Profile main 10
Ref Frames 1
Width 1920

#7

@Curun said:

@WatchTowerPlex said:

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.

WOW it is. So MKV, HEVC doing good. This is pretty big news!

However... HEVC main10 seems to be a mixed bag..

HEVC10 working fine:

Forced true
Codec HEVC
Bitrate 14191 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 800
Level 5.2
Profile main 10
Ref Frames 1
Width 1920

HEVC10 doesn't work: Lower profile level, and different color range.

Forced true
Codec HEVC
Bitrate 14514 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 5.1
Profile main 10
Ref Frames 1
Width 1920

I have several at 5.1 that work just fine. What do you mean by doesn't work? wont play? tries to transcode?

Codec HEVC
Bitrate 52828 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1


#8

@WatchTowerPlex said:

@Curun said:

@WatchTowerPlex said:

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.

WOW it is. So MKV, HEVC doing good. This is pretty big news!

However... HEVC main10 seems to be a mixed bag..

HEVC10 working fine:

Forced true
Codec HEVC
Bitrate 14191 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 800
Level 5.2
Profile main 10
Ref Frames 1
Width 1920

HEVC10 doesn't work: Lower profile level, and different color range.

Forced true
Codec HEVC
Bitrate 14514 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 5.1
Profile main 10
Ref Frames 1
Width 1920

I have several at 5.1 that work just fine. What do you mean by doesn't work? wont play? tries to transcode?

Codec HEVC
Bitrate 52828 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1

Sorry, poor communication. I mean by doesn't work as in doesn't DirectStream.

Transcodes.


#9

@Curun said:

@WatchTowerPlex said:

@Curun said:

@WatchTowerPlex said:

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.

WOW it is. So MKV, HEVC doing good. This is pretty big news!

However... HEVC main10 seems to be a mixed bag..

HEVC10 working fine:

Forced true
Codec HEVC
Bitrate 14191 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 800
Level 5.2
Profile main 10
Ref Frames 1
Width 1920

HEVC10 doesn't work: Lower profile level, and different color range.

Forced true
Codec HEVC
Bitrate 14514 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 5.1
Profile main 10
Ref Frames 1
Width 1920

I have several at 5.1 that work just fine. What do you mean by doesn't work? wont play? tries to transcode?

Codec HEVC
Bitrate 52828 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1

Sorry, poor communication. I mean by doesn't work as in doesn't DirectStream.

Transcodes.

What is the color space on the one that does not work? I did not see it what you pasted.


#10

@WatchTowerPlex said:

@Curun said:

@WatchTowerPlex said:

@Curun said:

@WatchTowerPlex said:

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.

WOW it is. So MKV, HEVC doing good. This is pretty big news!

However... HEVC main10 seems to be a mixed bag..

HEVC10 working fine:

Forced true
Codec HEVC
Bitrate 14191 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 800
Level 5.2
Profile main 10
Ref Frames 1
Width 1920

HEVC10 doesn't work: Lower profile level, and different color range.

Forced true
Codec HEVC
Bitrate 14514 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 5.1
Profile main 10
Ref Frames 1
Width 1920

I have several at 5.1 that work just fine. What do you mean by doesn't work? wont play? tries to transcode?

Codec HEVC
Bitrate 52828 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1

Sorry, poor communication. I mean by doesn't work as in doesn't DirectStream.

Transcodes.

What is the color space on the one that does not work? I did not see it what you pasted.

Yea, that's an oddity I noticed as well, wasn't sure if necessary or not... Plex doesn't list it. I copied and pasted direct as Plex reports it.
.
When I run it on my LG WedOS Plex App, also fails to DirectStream/DirectPlay... And since the January update, LG PlexApp has been a champ DirectPlaying everything I throw at it. OK I may have something badly formatted on this one hevc10 file.

Continuing to test.

This one is good(DirectStream), and it's 4K... also note no color space listed... and plays fine.

Codec HEVC
Bitrate 57578 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 1602
Level 5.0
Profile main 10
Ref Frames 1
Width 3840

#11

Also this one, and it's in HDR, triggered an HDR popup on my LG TV... and Plex is DirectStreaming the video. WOW!

Codec HEVC
Bitrate 59119 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1
Width 3840

#12

@Curun said:

@WatchTowerPlex said:

@Curun said:

@WatchTowerPlex said:

@Curun said:

@WatchTowerPlex said:

@Curun said:
To clarify... in MKV container?
With HEVC10 format.

HEVC is the codec 10 bit is the color depth. But yes

Edit: The settings should work fine for 8 bit/SDR 4K.

WOW it is. So MKV, HEVC doing good. This is pretty big news!

However... HEVC main10 seems to be a mixed bag..

HEVC10 working fine:

Forced true
Codec HEVC
Bitrate 14191 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 800
Level 5.2
Profile main 10
Ref Frames 1
Width 1920

HEVC10 doesn't work: Lower profile level, and different color range.

Forced true
Codec HEVC
Bitrate 14514 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 800
Level 5.1
Profile main 10
Ref Frames 1
Width 1920

I have several at 5.1 that work just fine. What do you mean by doesn't work? wont play? tries to transcode?

Codec HEVC
Bitrate 52828 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1

Sorry, poor communication. I mean by doesn't work as in doesn't DirectStream.

Transcodes.

What is the color space on the one that does not work? I did not see it what you pasted.

Yea, that's an oddity I noticed as well, wasn't sure if necessary or not... Plex doesn't list it. I copied and pasted direct as Plex reports it.
.
When I run it on my LG WedOS Plex App, also fails to DirectStream/DirectPlay... And since the January update, it's been a champ DirectPlaying everything I throw at it. OK I may have something badly formatted on this one hevc10.

Continuing to test.

This one is good(DirectStream), and it's 4K... also note no color space listed... and plays fine.

Codec HEVC
Bitrate 57578 kbps
Language English
Bit Depth 10
Chroma Subsampling 4:2:0
Color Range tv
Frame Rate 23.976 fps
Height 1602
Level 5.0
Profile main 10
Ref Frames 1
Width 3840

weird.. I wonder if it pulls that info when it does nightly maintenance? In the first one I noticed it had the standard HDTV(709) color space and not the UHDTV(2020). Wondered if that mattered but maybe not.


#13

Why do I have to edit the tvOS XML after every update to allow 4K MP4 files to play properly?

Also, MKV will only direct stream video in 4K if the video tag is preset to hvc1. Plex server needs to be enhanced to change this flag on the fly while remuxing for playback.

Lots of work still needed to make this functional out of the box. This post is helpful but doesn’t acknowledge the current shortcomings and what Plex plans to do about it.

Thanks


#14

Why do I have to edit the tvOS XML after every update to allow 4K MP4 files to play properly?
Presumably because an update will overwrite it.

but doesn’t acknowledge the current shortcomings and what Plex plans to do about it.
Correct. Such was NOT the purpose of the original post.


#15

OP THANKS for this post. I’d been waiting for 4k playback for what seems like forever and setting match content range and rate ended up being key details.


#16

@peteisanidiot said:
OP THANKS for this post. I’d been waiting for 4k playback for what seems like forever and setting match content range and rate ended up being key details.

Thanks! glad I could help out.

It's not perfect but if you run into issues post here so hopefully plex can fix them!


#17

@WatchTowerPlex since you're on the beta if you could be kind to report my findings for 4K HDR MKV Playback in the ATV 4K beta forum that would be great, thanks!

Plex server on Windows 10 pro
LG OLED B6
Apple TV 4K connected Direct to TV
Display Has to be Set to 4K HDR@60fps Dynamic Range On and Match frame rate On to Direct Stream 4K HDR MKV in Plex
4K HDR MKV does not require HVC1 tag to Direct Stream in Plex

List of my issues and findings
I have also attached the xml containing info of a movie with DTS audio

  • 4K HDR MKV with DTS 5.1/7.1 Will transcode to E-AC3 has No sound (TV Speakers and ARC Soundbar) when ATV 4K is set to either Best quality available or Dolby Digital 5.1 in settings. Work around is Setting audio to STEREO in ATV 4K.

These Sound Formats are Successfully working

  • 1080p SDR MKV h264 with DTS 5.1/7.1 transcodes to EAC3 has sound on any ATV 4K Audio settings (i keep it to Best quality available) (Successful)
  • 4K HDR MKV with TRUEHD (Atmos) transcodes to EAC3 has Sound on Best quality available setting (Successful)
  • 4K HDR MKV with AC3/EAC3 Direct streams has Sound on Best quality available setting (Successful))

  • My older added 4K HDR MKVS would not play in my Plex library (Which was Strange) so i deleted then re- added my 4K HDR
    MKVS to my Plex library again, all 4K HDR MKVS now successfully Direct Stream video in Plex.

  • Setting ATV Display to 4K SDR@60fps Dynamic Range On and Match frame rate On Does not Play 4K MKVS (Spinning
    Wheel)
    I have an OLED TV and it has been reported by experts that you should set the ATV 4K display to 4K SDR because having HDR constantly on can deteriorate the Oled panel faster over time, plus there is a higher risk of burn in on OLEDS with the screen so bright. Hopefully Plex can work this out and be able to Direct stream 4K HDR MKVS when the ATV 4K is set to 4K SDR with Dynamic range and Match content On, just like Netflix, infuse and mrmc can


#18

Basic requirements: You need a 4k capable device (ie. Apple TV 4k) and a 4k HDR TV/Projector

Does this mean that HEVC10 will not be supported via direct stream on 4k SDR displays, or is this just an initial limitation?

I tested this out with all other requirements being met, and I see 'Direct Stream' for video in the server status, but playback does not work at all, and my server CPU is melting onto the floor.

Edit: In fact, having ended this test 10 minutes ago and quit the client app, plexmediaserveris still using 100% CPU on every core...


#19

@chadmoone said:

Basic requirements: You need a 4k capable device (ie. Apple TV 4k) and a 4k HDR TV/Projector

Does this mean that HEVC10 will not be supported via direct stream on 4k SDR displays, or is this just an initial limitation?

I tested this out with all other requirements being met, and I see 'Direct Stream' for video in the server status, but playback does not work at all, and my server CPU is melting onto the floor.

HEVC10 indicates that it is a 10bit stream. Unless you have an HDR display it will not work. On an SDR display the video would be transcoded down to 8bit. You can direct stream to a 4k SDR screen as long as its 8bit and not 10 bit video.

You can check the content in plex and clicking on the 3 dots and selecting get info. Look at the Bit Depth field. If it says 10 then you have to have an HDR display to direct stream. If it says 8 then you can play it on a normal SDR display as long as it's 4k capable.

The fact that your CPU is high indicates that it is actually transcoding.

Are you trying to play a 10bit stream on an 8bit display?


#20

Yes, I was trying to play a 10bit stream on an 8bit display. Which works, for example, on my laptop (albeit with some stuttering). Can the Apple TV not handle converting 10bit down to 8bit for playback? I was under the impression that this was the case.

If it is transcoding, why does it say 'Direct Stream' for video under the server status? Is that just a Plex side bug? Also, see my edit above about the server process getting stuck.