[BUG] Android TV 6.1.1 transcodes 4K content on NVIDIA Shield TV

android-tv
fire-tv

#1

The Android TV plex app version 6.1.1 always transcodes 4K content to 1080p on the NVIDIA Shield TV, rolling back to version 5.6.1 which is included in the NVIDIA factory image solves the problem and the same 4K content direct plays beautifully.

Included are some log snippets, slightly different, probably caused by messing with the settings, end result however is always a transcode of 4K content.

Server version is 1.5.7.4016

DEBUG - MDE: computed resolution bounding box of 1920x960.
DEBUG - Scaled up video bitrate to 51543Kbps based on 1.500000x fudge factor.
DEBUG - Scaled maximum bitrate for resolution reduction to 12885Kbps.
DEBUG - MDE: received PLEX_PROTOCOL_ANY from client, selected protocol hls
DEBUG - MDE: analyzing media item 80584
DEBUG - MDE: E2 - XXXXXXXXXXXXX: Direct Play is disabled
DEBUG - MDE: E2 - XXXXXXXXXXXXX: media must be transcoded in order to use the hls protocol
DEBUG - MDE: E2 - XXXXXXXXXXXXX: selected subtitle cannot be converted to a compatible format, burning into video stream
DEBUG - MDE: E2 - XXXXXXXXXXXXX: avoiding video remux due to burned subtitle stream
DEBUG - MDE: E2 - XXXXXXXXXXXXX: no remuxable profile found, so video stream will be transcoded
DEBUG - MDE: computed resolution bounding box of 1920x960.
DEBUG - Scaled up video bitrate to 51543Kbps based on 1.500000x fudge factor.
DEBUG - Scaled maximum bitrate for resolution reduction to 12885Kbps.



DEBUG - MDE: computed resolution bounding box of 1920x960.
DEBUG - Scaled up video bitrate to 51543Kbps based on 1.500000x fudge factor.
DEBUG - Scaled maximum bitrate for resolution reduction to 12885Kbps.
DEBUG - MDE: received PLEX_PROTOCOL_ANY from client, selected protocol hls
DEBUG - MDE: analyzing media item 80584
DEBUG - MDE: E2 - XXXXXXXXXXXXX: Direct Play is disabled
DEBUG - MDE: E2 - XXXXXXXXXXXXX: media must be transcoded in order to use the hls protocol
DEBUG - MDE: E2 - XXXXXXXXXXXXX: no direct play video profile exists for http/mkv/h264
DEBUG - MDE: E2 - XXXXXXXXXXXXX: no direct play video profile exists for http/mkv/h264/ac3
DEBUG - XXXXXXXXXXXXX - video.width limitation applies: 3840 > 1920
DEBUG - XXXXXXXXXXXXX - video.width limitation applies: 3840 > 1920
DEBUG - MDE: E2 - XXXXXXXXXXXXX: no remuxable profile found, so video stream will be transcoded
DEBUG - XXXXXXXXXXXXX - video.width limitation applies: 3840 > 1920
DEBUG - MDE: computed resolution bounding box of 1920x960.
DEBUG - Scaled up video bitrate to 51543Kbps based on 1.500000x fudge factor.
DEBUG - Scaled maximum bitrate for resolution reduction to 12885Kbps.

#2

Nice first post bro.

This bug seems to be affecting quite a few users so hopefully the devs are on it.


#3

I have the same issue with my Sony Bravia on Android 7.0. Apparently the client believes the maximum display resolution is 1920x1080:

Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Version => 6.1.1.656
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Client-Identifier => b955a26ca941fb80-com-plexapp-android
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Device-Name => Supernova
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Platform => Android
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Platform-Version => 7.0
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Provides => player,pubsub-player,controller
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Product => Plex for Android
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Device => BRAVIA 4K GB
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Model => BRAVIA_ATV2
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Device-Vendor => Sony

Here the wrong resolution:
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Device-Screen-Resolution => 1920x1080 (Android TV)
Jun 26, 2017 16:55:59.627 [0x70000bd26000] VERBOSE - * X-Plex-Device-Screen-Density => 320


#4

@mocramm said:
The Android TV plex app version 6.1.1 always transcodes 4K content to 1080p on the NVIDIA Shield TV, rolling back to version 5.6.1 which is included in the NVIDIA factory image solves the problem and the same 4K content direct plays beautifully.

Included are some log snippets, slightly different, probably caused by messing with the settings, end result however is always a transcode of 4K content.

Server version is 1.5.7.4016

DEBUG - MDE: E2 - XXXXXXXXXXXXX: selected subtitle cannot be converted to a compatible format, burning into video stream

Welcome to the forums. This would indicate that you are trying to play a subtitle format that cannot be direct played. In this case, the video gets transcoded. Can you provide the XML for that video file?


#5

Disabling the subtitle, has no effect, it still transcodes. Playing with subtitles enabled on an older version, plays back without transcoding.

<?xml version="1.0" encoding="UTF-8"?>
<Mediainfo version="0.7.96">
<File>
<track type="General">
<Unique_ID>193101846639782211996084369292601312353 (0x91461018A447DBE29688F284D863C461)</Unique_ID>
<Complete_name>xxxxxx.mkv</Complete_name>
<Format>Matroska</Format>
<Format_version>Version 4 / Version 2</Format_version>
<File_size>6.04 GiB</File_size>
<Duration>24 min 54 s</Duration>
<Overall_bit_rate>34.7 Mb/s</Overall_bit_rate>
<Encoded_date>UTC 2017-04-21 22:12:53</Encoded_date>
<Writing_application>mkvmerge v8.3.0 ('Over the Horizon') 64bit</Writing_application>
<Writing_library>libebml v1.3.1 + libmatroska v1.4.2</Writing_library>
</track>

<track type="Video">
<ID>1</ID>
<Format>AVC</Format>
<Format_Info>Advanced Video Codec</Format_Info>
<Format_profile>High@L5.1</Format_profile>
<Format_settings__CABAC>Yes</Format_settings__CABAC>
<Format_settings__ReFrames>5 frames</Format_settings__ReFrames>
<Codec_ID>V_MPEG4/ISO/AVC</Codec_ID>
<Duration>24 min 25 s</Duration>
<Bit_rate>35.0 Mb/s</Bit_rate>
<Width>3 840 pixels</Width>
<Height>1 920 pixels</Height>
<Display_aspect_ratio>2.000</Display_aspect_ratio>
<Frame_rate_mode>Constant</Frame_rate_mode>
<Frame_rate>23.976 (24000/1001) FPS</Frame_rate>
<Color_space>YUV</Color_space>
<Chroma_subsampling>4:2:0</Chroma_subsampling>
<Bit_depth>8 bits</Bit_depth>
<Scan_type>Progressive</Scan_type>
<Bits__Pixel_Frame_>0.198</Bits__Pixel_Frame_>
<Stream_size>5.98 GiB (99%)</Stream_size>
<Writing_library>x264 core 148 r2638 7599210</Writing_library>
<Encoding_settings>cabac=1 / ref=5 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=48 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=24 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=17.0 / qcomp=0.70 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.30 / aq=3:0.70</Encoding_settings>
<Default>Yes</Default>
<Forced>No</Forced>
</track>

<track type="Audio">
<ID>2</ID>
<Format>AC-3</Format>
<Format_Info>Audio Coding 3</Format_Info>
<Format_settings__Endianness>Big</Format_settings__Endianness>
<Codec_ID>A_AC3</Codec_ID>
<Duration>24 min 54 s</Duration>
<Bit_rate_mode>Constant</Bit_rate_mode>
<Bit_rate>384 kb/s</Bit_rate>
<Channel_s_>6 channels</Channel_s_>
<Channel_positions>Front: L C R, Side: L R, LFE</Channel_positions>
<Sampling_rate>48.0 kHz</Sampling_rate>
<Frame_rate>31.250 FPS (1536 spf)</Frame_rate>
<Bit_depth>16 bits</Bit_depth>
<Compression_mode>Lossy</Compression_mode>
<Stream_size>68.4 MiB (1%)</Stream_size>
<Language>English</Language>
<Service_kind>Complete Main</Service_kind>
<Default>Yes</Default>
<Forced>No</Forced>
</track>

<track type="Text" typeorder="1">
<ID>3</ID>
<Format>UTF-8</Format>
<Codec_ID>S_TEXT/UTF8</Codec_ID>
<Codec_ID_Info>UTF-8 Plain Text</Codec_ID_Info>
<Duration>22 min 41 s</Duration>
<Bit_rate>97 b/s</Bit_rate>
<Count_of_elements>428</Count_of_elements>
<Stream_size>16.1 KiB (0%)</Stream_size>
<Language>English</Language>
<Default>Yes</Default>
<Forced>No</Forced>
</track>

<track type="Text" typeorder="2">
<ID>4</ID>
<Format>UTF-8</Format>
<Codec_ID>S_TEXT/UTF8</Codec_ID>
<Codec_ID_Info>UTF-8 Plain Text</Codec_ID_Info>
<Duration>22 min 56 s</Duration>
<Bit_rate>75 b/s</Bit_rate>
<Count_of_elements>371</Count_of_elements>
<Stream_size>12.8 KiB (0%)</Stream_size>
<Language>Spanish</Language>
<Default>No</Default>
<Forced>No</Forced>
</track>

<track type="Text" typeorder="3">
<ID>5</ID>
<Format>UTF-8</Format>
<Codec_ID>S_TEXT/UTF8</Codec_ID>
<Codec_ID_Info>UTF-8 Plain Text</Codec_ID_Info>
<Duration>24 min 26 s</Duration>
<Bit_rate>74 b/s</Bit_rate>
<Count_of_elements>371</Count_of_elements>
<Stream_size>13.3 KiB (0%)</Stream_size>
<Language>French</Language>
<Default>No</Default>
<Forced>No</Forced>
</track>

<track type="Text" typeorder="4">
<ID>6</ID>
<Format>UTF-8</Format>
<Codec_ID>S_TEXT/UTF8</Codec_ID>
<Codec_ID_Info>UTF-8 Plain Text</Codec_ID_Info>
<Duration>24 min 18 s</Duration>
<Bit_rate>70 b/s</Bit_rate>
<Count_of_elements>374</Count_of_elements>
<Stream_size>12.5 KiB (0%)</Stream_size>
<Title>Traditional</Title>
<Language>Chinese</Language>
<Default>No</Default>
<Forced>No</Forced>
</track>

<track type="Text" typeorder="5">
<ID>7</ID>
<Format>UTF-8</Format>
<Codec_ID>S_TEXT/UTF8</Codec_ID>
<Codec_ID_Info>UTF-8 Plain Text</Codec_ID_Info>
<Duration>24 min 18 s</Duration>
<Bit_rate>67 b/s</Bit_rate>
<Count_of_elements>375</Count_of_elements>
<Stream_size>12.0 KiB (0%)</Stream_size>
<Title>Simplified</Title>
<Language>Chinese</Language>
<Default>No</Default>
<Forced>No</Forced>
</track>

</File>
</Mediainfo>

#6
<?xml version="1.0" encoding="UTF-8"?>
<Media videoResolution="4k" id="80584" duration="1494176" bitrate="34746" width="3840" height="1920" aspectRatio="1.85" audioChannels="6" audioCodec="ac3" videoCodec="h264" container="mkv" videoFrameRate="24p" videoProfile="high">
<Part accessible="1" exists="1" id="80616" key="/library/parts/80616/1498392121/file.mkv" duration="1494176" file="xxxx.mkv" size="6489532463" container="mkv" videoProfile="high">
<Stream id="111787" streamType="1" default="1" codec="h264" index="0" bitrate="34362" bitDepth="8" chromaSubsampling="4:2:0" frameRate="23.976" hasScalingMatrix="0" height="1920" level="51" profile="high" refFrames="5" scanType="progressive" width="3840" />
<Stream id="111788" streamType="2" selected="1" default="1" codec="ac3" index="1" channels="6" bitrate="384" language="English" languageCode="eng" audioChannelLayout="5.1(side)" samplingRate="48000" />
<Stream id="111789" streamType="3" default="1" codec="srt" index="2" bitrate="0" language="English" languageCode="eng" />
<Stream id="111790" streamType="3" codec="srt" index="3" bitrate="0" language="Español" languageCode="spa" />
<Stream id="111791" streamType="3" codec="srt" index="4" bitrate="0" language="Français" languageCode="fre" />
<Stream id="111792" streamType="3" codec="srt" index="5" bitrate="0" language="中文" languageCode="chi" title="Traditional" />
<Stream id="111793" streamType="3" codec="srt" index="6" bitrate="0" language="中文" languageCode="chi" title="Simplified" />
<Stream id="111878" key="/library/streams/111878" streamType="3" selected="1" codec="srt" language="Nederlands" languageCode="dut" format="srt" />
</Part>
</Media>
<Extras size="0">
</Extras>
</Video>
</MediaContainer>


#7

Similar issue trying to play 4K HDR MP4s on Shield TV, but across network from server only. Shield TV PLEX app plays the same files back fine from local USB.


#8
  • Leave the subs in auto or disable burn, pgs or srt formats have no problems at all .
  • Direct play and direct stream = ON
  • Try with another file encoded at 10bits

I have no problems or issues of that kind

*note:My Shield is client, not server,... my server is over windows 10 via LAN wired 1GB/s


#9

Your XML looks fine so the transcoding is due to something else. Can you try playing back the file again and then grab the log from the client? https://support.plex.tv/hc/en-us/articles/201573117


#10

Attached are log files from the NVIDIA Shield client, the file used for this test is (http://4ksamples.com/elysium-2013-2160p-1-minute-sample-footage/), an Elysium sample.

PS: No matter what Android TV version, playing Big Buck Bunny 4K 30fps and 60fps gives a popup notifying that 30fps and 60fps is not supported, although the NVIDIA Shield should be capable of this.


#11

Honestly, I don't believe there is much to investigate. It was working fine with UHD/HDR videos (well.. Only forcing the direct play in my case, though) and now it always converts the videos in 1080p. Without changing anything on my side. The devs must have changed something in the code, it should be pretty straightforward for them to understand what now goes wrong.

Also it should be quite easy to reproduce. They just need to stream 4K videos (with or w/o subtitles it doesn't matter. Mine are all HDR video demos, like the ones made by Sony, Samsung etc) into an Android TV Plex client.


#12

Any update on when we can expect this bug to be fixed? Or at the least an acknowledgement that somebody bothered to look at my logs?


#13

Thanks for the logs, we are still investigating.


#14

Thanks for the feedback


#15

And now after the last server upgrade it first tries to transcode a video that was playing fine weeks ago (subj. of this thread), but differently from a couple of days ago it says it can’t be converted either.

Translation:
Error
Conversion failed. The converter closed or failed to start

I attach some logs as well.


#16

^^ That. Then recreate the issue and get me new logs.


#17

I had to do a reset to factory setting of the tv because far too many things were going wrong. Then after installing Plex, and logging in.. All UHD HDR video I tested just worked. I changed few settings (like subtitles, audio amplification, the option to show to the video info (so I know if and how it is transcoding) and it was transcoding again.

I have reset the app data from the Android settings, logged in again, didn't touch anything and it works.

Ok, as I suspected. Just changing the option to show the video info it transcodes again. And then it doesn't get fixed changing it back to not showing the info.

After disabling the verbose logging, I collected new logs (working, changing setting and not working, changing setting back and still not working).


#18

And now I have got the same error, like the one in the screenshot above (Conversion failed. The converter closed or failed to start ) from a different video. I'll attach the new log files (I cleaned the log folder in advance and reproduced it).


#19

If you want to reproduce it this is a link to one of the videos crashing the converter: http://4kmedia.org/lg-nasa-hdr-4k-demo/

It used to play just fine before the recent updates. Also if you could do something about lag with these videos with high bitrates. From the Bravia's Video app, via DLNA, usually they play just fine. Via Plex (if they play at all) most of the times they stutter.


#20

@"MovieFan.Plex"

Just some more info: downgrading the Plex client to version 5.10.3.441, and only after setting the Direct Play as "Forced" that error disappear and the HDR videos I tested play just fine at 2160p with HDR without transcoding. Without forcing the direct play the LG Nasa video gave me the same error in the pictures. Still with Direct Play in "Auto" another video was transcoding, but at least it played at 2160p instead of 1080p like with the latest client release.