Plans to bring back subtitle support?

.ASS subtitle playback was ruined thoroughly in the mobile apps last year, when Plex decided to drop libmpv. I see that some effort was made to still provide support for subtitles without libmpv, but obviously they didn’t work. After over a year, .ASS subtitle playback is still more or less unusable, since fonts don’t load, and performance is nonexistent. Anything more complex than basic text at the bottom of the screen just falls apart and stutters. And you know what? I don’t really consume subtitled content on my phone. I mostly do it on the TV, so I was able to live with it.

Now this wonderful “feature upgrade” was brought over to Apple TV as well. So now playback of subtitled content is just “not supported” in plex anymore.

I know that libass is a complicated piece of software, and getting it right on the first try can be hard. And I understand that integrating it with good performance is not easy. But cmon, not even fonts?
(I wonder if there’s a library that can play back every video format in the world, and also play all subtitles nicely on them? If I had to imageine one I would probably call it libmpv and plex would’ve used it for a decade already. hmmmmmmm)

But is there any plan to ever fix the subtitle rendering, or should I just get over the fact that I had to revert to older versions, I can never update again, and when the old app does break, I will just have to switch to a third party client.

Also, if you need some help, and you’re willing to open source your subtitle rendering integration, I’m sure the community, including me will be happy to fix it for you.

TL;DR: Is the subtitle renderer ever getting fixed?

It has to be intentional at this point. Is it just me or do we have even less customization options available now?

Libmpv is literally the best possible player too, so not sure why they’re making it harder for themselves and their customers. Now, if you want to enjoy subtitles properly, you have to set “burn subtitles” to always. RIP to direct play.

In any case, I’ll be using an app someone recommended here called “Plezy” until Plex either improves or reverts the app. Not quite as nice as the old Plex ATV app, but it plays subtitles correctly at least since it uses mpv.

I’m a bit hesitant to post it here, but there is a short writeup of how to revert back to the old version, if you want to.

Its on reddit, but instead of linking, I’ll just copy the post body here:

Depending on who you are, or what your media needs are, the updated Plex app on the Apple Tv may or may not be usable for you. For me, as it dropped libmpv, and with it any reasonable support for more complicated subtitle formats, like .ASS (Advanced Substation Alpha; grow up) it is completely unusable, without any exaggeration.

Plezy and Infuse are realistic options, but tbh I just don’t like them, which is why I had to revert to the previous official version.

If you want to revert to the older version, here’s how you can do that:

Step 1: Get the old version as an IPA

Apple doesn’t provide a simple downgrade button in the AppStore, but will happily let you install apps on your Apple TV if you have the .IPA.

I uploaded the latest version of the tvOS IPA to the internet archive before the update, you can download it from here: [deleted the link]
Update: I had to come to the realization that because I used my own apple id to download that IPA, it only works for me. You WILL have to get the IPA yourself with the method below.

But I generally advise against downloading binaries from random people online, although the linked IPA is encrypted, and is signed by Apple, which should be a good indication of being genuine.

Still, if you’d prefer to acquire the IPA from Apple yourself, here’s how to do that:

  • Get the ipatool software: https://github.com/majd/ipatool
    • I was having troubles with the latest versions, so I had to add a small patch.
    • To add the patch:
      • Clone repo with depth 1
      • and in the pkg/appstore/appstore_download_product.go file replace
      • (platform == "" || platform == PlatformIPhone || platform == PlatformIPad || platform == PlatformMacOS) &&
      • with
      • (platform == "" || platform == PlatformIPhone || platform == PlatformIPad || platform == PlatformMacOS || platform == PlatformAppleTV) &&
      • Build with go build -o ipatool or go build -o ipatool.exe . depending on your platform
  • Find the latest version before the update * ./ipatool get-version-metadata -b com.plexapp.plex --platform appletv --external-version-id 871812104 --format json --verbose
    • It should print 8.45.
    • By my findings the id of the latest version before the update is 871812104
  • Then download.
    • ./ipatool download -b com.plexapp.plex --platform appletv --external-version-id 871812104 --purchase --verbose -o Plex-8.45-tvOS.ipa
    • This downloads it straight from Apple.
  • The SHA265 hash of the file should be bd85cac9989b847ba044e2763557501a8a84e5326994c84303c84aae97e0fb8f
  • SHA1 hash is ffdebd51282f83654b064373a615d4cbf17680b4

Step 2: Install it to your Apple TV

If you’re familiar with installing software to Apple TVs, you might want to use atvloadly but that will not work with this IPA, since it was encrypted and signed by apple, and atvloadly would resign it with your own Apple ID.

You can use pymobiledevice3 to install these IPAs. (this isn’t a python / pip tutorial, so if you don’t understand the below, use google or an AI or something to walk you through these steps)

I used a Linux PC, but I have no reason to believe this wouldn’t work from Windows, and definitely from a Mac, but from a Mac you might have other options to do this too.

  • Get a recent version of Python, with pip, and depending on your os, venv
  • Install the software with pip install -U pymobiledevice3
  • Check if it works with pymobiledevice3 --help
  • (Depending on your OS, you might have to create a venv first and install it inside there)
  • On your Apple TV go to Settings → Remotes and Devices → Remote App and Devices
  • Stay on that screen on the Apple TV, and on your computer, run pymobiledevice3 remote pair
  • It might throw some errors, but if it shows up on the Apple TV it probably worked.
  • Start the tunnel with sudo ~/pmd3/bin/pymobiledevice3 remote tunneld or pymobiledevice3 remote tunneld depending on your OS.
  • From another terminal, make sure the tunnel is up with pymobiledevice3 apps list --tunnel ''
  • Since this is the official plex application, make sure you uninstall the currently installed version from your apple tv.
  • Then finally install the App to the Apple TV with pymobiledevice3 apps install Plex-8.45-tvOS.ipa --tunnel ''

This will get you back the old Plex app, from before the latest update.

Step 3: Disable automatic app updates

Because it is the official app, the official AppStore version, your Apple TV will likely automatically update it shortly, therefore you will have to disable automatic app updates in Settings → Apps → Automatically Update Apps → Off

For the foreseeable future it should remain working, since Plex has a pretty stable server API. (A few months ago I was even able to play back video with the windows phone version of plex, on an old windows phone. That is probably close to 10 years old right now)

The bigger risk is Apple updating tvOS in a way that breaks the old app, but lately Apple has a pretty good track record of keeping apps working longer.

If you have any questions, I will try to help in the comments. I can vouch for this method working.

Thanks. That was a lot of steps, but managed to do it. You have to use the official ipatool though so it’s tied to your Apple account. Got a weird error when using the archive version.

God, it’s so nice to be back on the old app. :sob:

I don’t use subtitles myself but manage them for my users and I gave up on ass subs (after watching constant transcodes triggering from them) and have tried as hard as I can to ensure everything has srt, given one of my subtitle users is Apple exclusive it looks like I made the right call. Mind you everyone is saying the rest of the app is trashed, so um yay…!?

Further to this I am getting sick and tired of plex rolling out these new versions which are under-tested, under-featured and from all reports flat out broken.