New Amazon Fire and HEVC/H265

@MovieFan.Plex said:

@ptrjay said:
All of my new encodes are 10 bit, they look amazing without the need to increase bitrates as well as reducing banding in dark scenes.
This is a limitation of the FireTV2.

Nothing I mentioned was a limitation, if anything using 10bit depth is an improvement.

Regardless, this file previously direct played so I know the device does support 4K 10bit, additionally the files still play in VLC on the AFTV, so I’m not sure why the limitation was introduced.
VLC uses software decoding, when you use software decoding, a lot more is possible.

If this is the the case, then Plex on the AFTV previously used software decoding and it worked fine, as the above XML data I posted is a file which I have direct played, and previous to the software updates to the android app and to the server at the end of February, 4K 10bit playback on Plex AFTV was flawless.

If any devs are following, can you introduce the 4K 10bit as an option in settings atleast, like the H264 profiles are.
These are not the same thing. The H264 profile doesn’t really affect playback, it’s more of an identifier just to say I follow this standard, but you can lie about the profile and not affect playback.

I said ‘like’, I’m in no way trying to compare 4K 10bit and h264 profiles… My point is, If 10bit 4K is still being worked on, I’d prefer to have the option to turn it on/off over not having the option at all.

I hope this reply has cleared up any issues you’ve raised.

@MovieFan.Plex said:
8-bit 4K H265 should work, the problem is the 10-bit file.

There was no problem with 10-bit 4K before the software updates at the end of February.

@tenuthen said:

  • AC3/Dolby Digital Audio or AAC - depending on source material, key point is no DTS as Plex has to transcode this for AFTV2, which produces a HLS stream that also forces the x265 video to be transcoded.

Use AAC, there is a limitation of bitrate for AC3 on the AFTV that is poorly documented and it’s relatively low. I’ve had NO issues with AAC 480kbps for 5.1 (80kbps per channel)

  • No Embedded Subtitles

.srt subs work perfectly, no transcode required even when embedded

@ptrjay said:

@anon18523487 said:
8-bit 4K H265 should work, the problem is the 10-bit file.

There was no problem with 10-bit 4K before the software updates at the end of February.
Are you sure you were using the normal player and not an external player? The old app had that ability, the new app doesn’t.

No luck with any conversions.

Any file I have that is 4k and H265 WILL NOT direct play (regardless of audio type).
Any 4k content encoded as H264 will direct play.
Any 1080p content encoded as H265 will direct play.

Really close to returning the Fire TV as I’ve been really un-impressed with it so far, but I’m leaning towards it being a Plex issue rather than an Amazon one as other players (like Kodi) play back my 4k H265 stuff just fine.

I’m also experiencing the audio dropout issues documented in other threads. Seems like this was release was woefully undertested.

As far as I know, only aac and ac3 audio are supported for direct play. Are you using these? There is also an option under settings / audio where you can specify if AC3 support should be enabled. Make sure this is on.

Yes, I’ve tried using those audio formats. As mentioned in my previous post, no h265 video will direct play regardless of audio type or bit depth. So even 8bit, aac/ac3 stuff that should direct play, will not currently.

Just updated to the latest plex release for fire TV and this hasn’t fixed any of my issues.

Thanks for your time and help on this. I just want an easy way to watch 4k content, so I can actually make use of my TV’s capabilities.

Can you provide me the server log with the start of the playback attempt so I can see why PMS thinks it can’t direct play?

Mar 13, 2016 170516596 [6612] DEBUG - Found session GUID of e25ea01f355db106-com-plexapp-android in session start. Mar 13, 2016 170516596 [6612] DEBUG - MDE analyzing media item 130538 Mar 13, 2016 170516596 [6612] DEBUG - MDE E01 - Pilot Direct Play is disabled Mar 13, 2016 170516596 [6612] DEBUG - MDE E01 - Pilot media must be transcoded in order to use the hls protocol Mar 13, 2016 170516596 [6612] DEBUG - MDE E01 - Pilot no remuxable profile found, so video stream will be transcoded Mar 13, 2016 170516596 [6612] DEBUG - MDE computed resolution bounding box of 3840x2160. Mar 13, 2016 170516596 [6612] DEBUG - Scaled up video bitrate to 18378Kbps based on 4.500000x fudge factor. Mar 13, 2016 170516596 [6612] DEBUG - MDE E01 - Pilot selected media 0 130538 Mar 13, 2016 170516596 [6612] DEBUG - Starting a transcode session e25ea01f355db106-com-plexapp-android at offset -1.0 (state=2) Mar 13, 2016 170516600 [6612] DEBUG - [Universal] Using local file path instead of URL DDownloads4kTVBlacklist [4k]Season 1The Blacklist.S01E01.Pilot.mp4 Mar 13, 2016 170516602 [6612] DEBUG - TranscodeJobManager [Running] onTranscodeSessionStarted e25ea01f355db106-com-plexapp-android Mar 13, 2016 170516602 [6612] DEBUG - TranscodeJobManager [Running] - [Throttled] Mar 13, 2016 170516602 [6612] DEBUG - Job running CProgram Files (x86)PlexPlex Media ServerPlexNewTranscoder.exe -i DDownloads4kTVBlacklist [4k]Season 1The Blacklist.S01E01.Pilot.mp4 -filter_complex [0#0x01]scale=w=min(3840,iw)h=min(2160,ih)force_original_aspect_ratio=decrease[0] -map [0] -codec0 libx264 -crf0 18 -pix_fmt0 yuv420p -maxrate0 18378k -bufsize0 36756k -preset0 veryfast -level0 5.0 -x264opts cabac=08x8dct=1bframes=0subme=0me_range=4rc_lookahead=10me=diano_chroma_me8x8dct=0partitions=nonecabac=0 -force_key_frames0 exprgte(t,0+n_forced1) -map 0#0x02 -codec1 copy -copypriorss1 0 -segment_format mpegts -f segment -flags -global_header -segment_time 1 -segment_start_number 0 -segment_copyts 1 -segment_time_delta 0.0625 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 media-%05d.ts -start_at_zero -copyts -vsync cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http127.0.0.132400videotranscodesessione25ea01f355db106-com-plexapp-androidprogress Mar 13, 2016 170516696 [8308] INFO - [Transcoder] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DDownloads4kTVBlacklist [4k]Season 1The Blacklist.S01E01.Pilot.mp4' Metadata major_brand isom minor_version 512 compatible_brands isomiso2mp41 encoder Lavf56.40.101 Duration 004507.46, start 0.000000, bitrate 5053 kbs Stream #00(und), 11, 119184 Video hevc (Main) (hev1 0x31766568), yuv420p(tv), 3840x2160 [SAR 11 DAR 169], 4084 kbs, 23.98 fps, 23.98 tbr, 19184 tbn, 23.98 tbc (default) Metadata handler_name VideoHandler Stream #01(und), 1, 148000 Audio aac (LC) (mp4a 0x6134706D), 48000 Hz, 5.1, fltp, 383 kbs (default) Metadata handler_name SoundHandler Stream #02(und), 23, 148000 Audio aac (LC) (mp4a 0x6134706D), 48000 Hz, 5.1, fltp, 383 kbs Metadata handler_name SoundHandler Stream #03(und), 23, 148000 Audio aac (LC) (mp4a 0x6134706D), 48000 Hz, 5.1, fltp, 197 kbs Metadata handler_name SoundHandler Mar 13, 2016 170516710 [9708] INFO - [Transcoder] Output #0, segment, to 'media-%05d.ts' Metadata plex.duration 2707.46 plex.total_duration 2707.46 encoder Lavf56.36.100 Stream #00, 0, 190000 Video h264 (libx264), yuv420p, 3840x2160 [SAR 11 DAR 169], q=-1--1, max. 18378 kbs, 23.98 fps, 90k tbn, 23.98 tbc (default) Metadata encoder Lavc56.41.100 libx264 Stream #01, 0, 190000 Audio aac (mp4a 0x6134706D), 48000 Hz, 5.1, 383 kbs (default) Mar 13, 2016 170516711 [8308] DEBUG - Request [127.0.0.149499] PUT videotranscodesessione25ea01f355db106-com-plexapp-androidprogresswidth=3840&height=2160 (12 live) Mar 13, 2016 170516711 [6612] DEBUG - [FFMPEG] Duration 2707 Mar 13, 2016 170516711 [6612] DEBUG - Read line, and done 1 Mar 13, 2016 170516711 [6612] DEBUG - Started session successfully e25ea01f355db106-com-plexapp-android Mar 13, 2016 170516711 [6612] DEBUG - HLS Building an M3U8 for 2707 total seconds with 1 secondssegment, target duration of 1.

Here’s the log extract, and the corresponding XML for the media I tried to play back. This line is cropping up with every entry:

Mar 13, 2016 170516596 [6612] DEBUG - MDE E01 - Pilot Direct Play is disabled

It looks as though Plex is thinking that Direct Play is disabled whenever it tries to play a HEVC/H265 video with a resolution higher than 1920x1080.

Could it be something similar to what’s mentioned in this thread for the Xbox One app?

Where direct play just needs to be turned on for 4k HEVC content in the FireTV Plex app?

I also noticed these lines in @ptrjay 's log entries.

Mar 03, 2016 19:19:53:522 [5248] DEBUG - MDE: The Fifth Element (1997): no direct play video profile exists for http/mkv/hevc Mar 03, 2016 19:19:53:522 [5248] DEBUG - MDE: The Fifth Element (1997): no direct play video profile exists for http/mkv/hevc/aac

So again, could that just be that Plex isn’t configured/allowed to direct play HEVC within an MKV container on the FireTV?

Ok, I got some info for you. Your media files are missing the H265 profile level information. This is similar to the H264 profile level. Appears that PMS is unable to read that info from the file, so when the FireTV asks what type of profile the file has, PMS doesn’t return a value so the FireTV is refusing to direct play the file. Check if any of your H265 files has a profile level and see if they will direct play?

The devs are investigating the issue.

@MovieFan.Plex said:
Ok, I got some info for you. Your media files are missing the H265 profile level information. This is similar to the H264 profile level. Appears that PMS is unable to read that info from the file, so when the FireTV asks what type of profile the file has, PMS doesn’t return a value so the FireTV is refusing to direct play the file. Check if any of your H265 files has a profile level and see if they will direct play?

The devs are investigating the issue.

Thanks MovieFan. I’ll have a look at some of my other files for profile level, and will do some reading up on H265 profile levels themselves.

Looking forward to hearing back from the Devs.

I’ve just had a look at some of my media files, and MediaInfo is showing them all as having Profile Levels.

I’ve attached the MediaInfo output for the same file I supplied the Logs and XML for.

See the line:

Format profile : Main@L5.0

I checked the 1 HEVC file I have and seeing the same thing. I’ve reported it to the devs. Will provide update when i hear something.

I looked into my media some more and found some interesting things. I compared two 4k files, one encoded in HEVC and the other in standard h264.

You can see that the h264 file contains an entry both for Profile and Level, whereas the HEVC file only contains an entry for Profile.

None of my HEVC rips seem to have a Level entry in Plex.

HEVC

h264

Yup. Devs have confirmed a bug. That and other changes are being made to help direct play work better.

BTW, that hevc with main10 profile won’t direct play. That is a limitation of the device and won’t be affected by any changes.

@MovieFan.Plex said:
Yup. Devs have confirmed a bug. That and other changes are being made to help direct play work better.

BTW, that hevc with main10 profile won’t direct play. That is a limitation of the device and won’t be affected by any changes.

That’s great news. Thanks for your help.

I have a mixture of 10 and 8 bit rips for testing, looking forward to the release with the bug fix and improvements.

Will post back here with any feedback after its released.

Any updates?

No news yet.

ptrjay, I believe what you thought was full support was not, but rather players and devices can play 10bit files using 8bit methods. Depending on how things were encoded you just tend to see some artifacting. I had some 10bit shows that when I played in MXplayer before it supported 10bit h264, every now and then the scene would schmear, and the color of the scene would drift. Recently I found my firestick doing the same thing, it was playing a 10bit video (that for some reason the server decided not to transcode) and I noticed the color drifting.

So yea, 8bit decoders can play the 10bit files, just things can happens to the IQ. It looks like HEVC does not force 10bit on any of its common profiles either so I highly doubt you will see any hardware decoders supporting 10 bit.