Nvidia SHIELD/Android app SSA/ASS format anime subtitles + transcoding problems

Colour me shocked, flabbergasted and otherwise (pleasantly) surprised. I genuinely thought it would never happen and I’m delighted to be wrong. Looking forward to being able to let this thread die (hopefully, fingers crossed) before it hits the 3 year milestone.

1 Like

Coming from the PC side of things, ExoPlayer feels like little more than a wrapper for the hardware capabilities of the device it’s playing on. Plex for Android can directly play Hi10p if the device supports it in hardware acceleration. The Fire Stick 4k (and the 1080p one, model year 2020) do support Hi10p, but they only work right for files that specifically describe their color setup it seems. Otherwise you get green video.

This is important because of the player thinks it can direct play the video and subs it’s going to do so. So this half-baked Hi10p support gets worked around by the fact Plex was asking for a transcoded steam because of the ASS subs anyway. But if it stops doing that because it thinks it can now direct play everything…

I should mention the PGS sub support has been degrading over time. I tried playing some Hi10p files I have that I know the Fire Stick is able to read properly this morning. The video looked fine, but the PGS subs were pretty much not displaying, and I know if used these same files a couple years ago and they worked fine. I have newer HEVC video with PGS subs files and the subs appear but are black and white, when they actually are in color and appear that way on disc and on normal PC players like VLC and mpv.

1 Like

That is unfortunate, and a likely new thing that will annoy users going forwards, then. ExoPlayer seems to be holding Plex for Android back a lot of the time…

Luckily for me I don’t really have that many 10-bit H264 files anymore, I think. Most of my library is probably normal H264 or HEVC at this point. And fwiw, finally getting full support for ASS/SSA is a huge win.

I don’t really want to unnecessarily ping Plex employees, but hopefully Sixones or someone else from Plex could comment on the potential issue, and if there are any plans to resolve it.

1 Like

Can’t wait to see this happen finally!

This is great to hear! Finally I can quit switching over to Plex-on-Kodi or Emby when watching Anime! I switched to the Shield from the Apple TV and ASS support was the only big disappointment. So glad to see it getting resolved.

Can’t wait ! glad I read this before I convert my whole library.

I am so happy

We can have a look at Hi10p support, but from what I’ve seen previously playback on an Android device with a Hi10p software decoder is painfully slow (causing stuttering and frame drops during playback). We should be falling back to a transcode for Hi10p if the device doesn’t support it, regardless of the subtitles selected.

If anyone can create a Hi10p sample that would be a big help.

2 Likes

I know Plex isn’t too keen on having a plethora of settings, but maybe an advanced setting toggle somehow? “Enable local Hi10p software decoding” or something like that. Turned off by default, but possible to be turned on by users that know that their devices are powerful enough? Hi10p has been used for anime for well over a decade, so I’d imagine a lot of the current Android TV devices are powerful enough at this point. I really want to avoid as many transcodes as possible, as I find the quality rather poor.

(Maybe a mod could reopen nx6’s thread, and this particular discussion should be continued there, as it’s not really related to ASS/SSA)

2 Likes

Both my Shields (2017 and 2019 Pro) and my Snapdragon 855+ based phone seem perfectly capable of decoding Hi10p in software (at least via Kodi, VLC and MX Player - those are what I had on hand to test with) without any stuttering or dropped frames that I can see. I know maintaining a whitelist of hardware that can software decode it adequately would just be ridiculous and unreasonable, but I think sensei321’s idea of hiding a software toggle somewhere in advanced settings for the client is a good one. I guess the problem there is, can Exoplayer even allow that or is that something else Plex would have implement internally?

I’d also like to see a dedicated thread for that discussion (maybe nx6 would open a new one?).

Either way, major kudos for the work on getting ASS support working here. This was actually looking to be my last month as a Pass subscriber (have been running an instance of a competitor’s server software in parallel and was getting ready to jump), but if a test build looks mostly functional and a release is on the cards for the near future, I’ll be convinced to stay on.

3 Likes

Awesome, thank you for the hard work. This has been the single biggest missing feature for me ever since I began using Plex, and its nice to finally see this support be implemented.

If you don’t mind me asking since im just a bit curious, how is this being implemented? Have you modified the ExoPlayer source code to add .ASS support to it? Or has the player been replaced with something else.

Its still ExoPlayer, we’ve extended it to support ASS subtitles. ExoPlayer is the most reliable player on Android as it has countless quirks and workarounds for various hardware decoders so it’s unlikely we will move away from it anytime soon.

5 Likes

First off I wanna say that I’m truly grateful that this is finally happening and that we are being heard, thank you so much for your hard work!
Since we’re talking players and support I also wanna say that I hope a time will come when transcoding is only needed for lowering the resolution. When I installed the plex for windows app and saw mpv as a player I could literally cry, same for apple devices… I wish it could be like that for every Plex client there is… I host my server on my desktop pc and every time I tell my friends to make a plex account to use my library I also have to explain why it’s better they don’t open some files cause the subs are .ass format, or the h264 profile is hi10, or 16 ref frames or it’s 4:4:4 chroma or the audio is dts, flac or opus, and your tv don’t support them, spoiler, they couldn’t give a single * about it and just end up just not installing plex.
Sorry if it ended up sounding a bit like a rant, I just have been frustrating about this for over 2 years and never spoke about it online, this is especially hard for us anime fans, we are very passionate about our collections.
Thank you again so much for this amazing update, I can’t wait to see them karaoke subs nice and crisp on my tv! :slight_smile: :slight_smile:

Btw why cant we set a external player on AndroidTV Plex app, like on normal Android Plex app? The Jellyfin AndroidTV app allows this, which solves a lot of issues.

As example Vimu player via Exoplayer2 engine + Tunneling, support’s all DV Profiles (on shield), all sub formats including styled ASS, working refresh + resolution switching, full audio pass-through with options for formats and mode, on the fly AC3 encoding for DTS or PCM surround formats, SMB, NFS … list goes on and is stable and fast.

So please allow us to set external players, so we can fix issues this way, until Plex support gets around to address those.

FYI we support DTS, FLAC and OPUS via software decoding in Plex for Android. Will be looking into Hi10p, 16ref and 4:4:4 support for the future.

Aside from ASS subtitles where support is pending, we support all of these. We have no intention of supporting external players on TV devices I’m afraid.

1 Like

Heres a build you can sideload for full ASS subtitle support, if you would rather wait it will be released in v9.3 which is scheduled for beta in the next few weeks.

If you experience any issues, please provide the client logs, and let me know how you got the issue. Steps for fetching logs are available here: Android, Android TV, Fire TV, Portal Logs | Plex Support

Arm64 (SHIELD, most mobiles etc…)
https://artifacts.plex.tv/android-experimental/9.3.0.32494-16a956f2/PlexForAndroid-9.3.0.32494-16a956f2-Arm64v8aGooglePlay.apk

Armv7 (SHIELD Tube, Chromecast with Google TV, Sony TVs, etc…)
https://artifacts.plex.tv/android-experimental/9.3.0.32494-16a956f2/PlexForAndroid-9.3.0.32494-16a956f2-Armv7aGooglePlay.apk

Fire TV (and other Amazon devices)

https://artifacts.plex.tv/android-experimental/9.3.0.32494-16a956f2/PlexForAndroid-9.3.0.32494-16a956f2-Armv7aAmazon.apk

5 Likes

Looks promising after a couple of quick tests! Found a file with some issues. I’ll PM you the log and a link to the file I had issues with.

Didn’t work for me on Shield Tube. For one TV Show, it direct plays but the ASS subtitles are just not showing up at all. For another show, it tries to transcode and fail just like before.
I can’t get you the logs as I am in a hotel, but will try again this weekend when I’m back home.

Some notes from my short testing with my Chromecast with google tv. I had the subtitlex just disappear and this hell of video corruption