Jump to content

ASS Subtitles don't render on Android TV


Recommended Posts

Posted

.ASS subtitles don't seem to play at all on Android TV over Direct Play. Other subtitles like SRT subs play fine however.

The same video renders the subtitles fine using the browser and Windows app, both with Direct Play (no transcoding)

 

Server logs attached.

embyserver.txt

Posted

Logs uploaded from Android TV 21:30 PT / 00:30 ET.

Username: Guest

Posted

Hi.  The internal renderer doesn't like these subs at all:

02-05 21:29:49.093 23039 23566 I libass_jni: Empty event
02-05 21:29:49.103 23039 23566 I libass_jni: Empty event
02-05 21:29:49.111 23039 23566 I libass_jni: Empty event
02-05 21:29:49.125 23039 23566 I libass_jni: Empty event
02-05 21:29:49.131 23039 23566 I libass_jni: Empty event
02-05 21:29:49.142 23039 23566 I libass_jni: Empty event
02-05 21:29:49.154 23039 23566 I libass_jni: Empty event
02-05 21:29:49.161 23039 23566 I libass_jni: Empty event
02-05 21:29:49.176 23039 23566 I libass_jni: Empty event
02-05 21:29:49.187 23039 23566 I libass_jni: Empty event

Are they external or internal?

Hi.  Can you try searching for our standard android app (Just "Emby" on Amazon and "Emby for Android on Google) on the same device's app store and see how that compares?

Thanks.

 

Posted

They're internal subs.

Let me try with the regular app.

Posted

Regular app has the same problem, but I can't find a way to submit the logs.

Posted

@ebrSame thing happens on Emby for Android on a mobile phone, so it does look like a renderer issue.

 

The weird thing is, this plays fine on desktop. Does that use a different version of libass to load the subtitles?

Posted
5 hours ago, lolque said:

The weird thing is, this plays fine on desktop. Does that use a different version of libass to load the subtitles?

Different architecture, OS, player, etc.  So, yes.

Posted

We can look at updating the libass version it is using.

  • 2 weeks later...
Posted
On 2/8/2025 at 9:35 AM, Luke said:

We can look at updating the libass version it is using.

Should I expect a new app version in the coming month?

Posted

Hi, I can't provide an ETA but yes we are planning to look at this. Thanks.

  • 1 month later...
Posted

Still occurs on the latest Android app version 3.4.56

Posted
8 minutes ago, lolque said:

Still occurs on the latest Android app version 3.4.56

HI, can you provide a sample video for testing? Thanks.

Posted

I tried truncating it with ffmpeg, but the truncated and remuxed version plays properly.

What's the best way of providing the video in question?

Posted
15 hours ago, lolque said:

and remuxed version plays properly

Hi.  So that would indicate that it was a problem with the media and you have now fixed it...

Posted
9 hours ago, ebr said:

Hi.  So that would indicate that it was a problem with the media and you have now fixed it...

I don't think truncating a video down to 30 seconds counts as fixing it.

Posted

While it could be the media, I would still find it odd that it plays without issue on most other major platforms, except Android.

Web (4.8.11.0 on Chrome) works fine with direct play (with fallback fonts).

iOS (2.2.37) works fine with direct play.

Chromecast (2.1.0) works fine with direct play (with fallback fonts).

Windows (3.0.20) works fine with direct play.

Mac (2.2.33) works fine with direct play.

 

The only device I can't play it on is Android and Android TV.

Posted
5 hours ago, lolque said:

I don't think truncating a video down to 30 seconds counts as fixing it.

You said a remuxed version played okay, right?

Posted
3 hours ago, lolque said:

While it could be the media, I would still find it odd that it plays without issue on most other major platforms, except Android.

Different players have different tolerances for "out of spec" or "bad" media.  Google's stance on this issue is that they refuse to put workarounds in their code to account for bad inputs.  Their answer is always "fix the input".  So that could explain it.

Posted
9 hours ago, ebr said:

You said a remuxed version played okay, right?

To truncate the video to create a sample, I have to remux it with the new, truncated duration.

 

9 hours ago, ebr said:

Different players have different tolerances for "out of spec" or "bad" media.  Google's stance on this issue is that they refuse to put workarounds in their code to account for bad inputs.  Their answer is always "fix the input".  So that could explain it.

There's no problem playing the video, so there's nothing wrong with Google's video decoder. ASS support is part of Emby, not Google's code as Google does not have a native ASS renderer.

Likewise, ffmpeg has no issues decoding the video `ffmpeg -v warning -i video.mkv -f null -`, which is also apparent because transcoding works.

Given I have no access to the player logs on Android, I have no way of seeing why Emby thinks the files are "bad". However every other player seems to be fine.

Posted

Hi, can you please provide an android app log?

Thanks.

Posted
14 hours ago, lolque said:

To truncate the video to create a sample, I have to remux it with the new, truncated duration.

Have you tried simply remuxing the entire video?  Does that make a difference?

14 hours ago, lolque said:

ASS support is part of Emby, not Google's code

Google is the author of the video player we are using.

Posted
22 hours ago, Luke said:

Hi, can you please provide an android app log?

Thanks.

Logs attached. I played the first 30 seconds of the video, no subtitles were ever displayed, even though subs exist within the first few seconds of the video.

emby_android_1745033733580.txt

Posted
On 4/18/2025 at 6:44 AM, ebr said:

Have you tried simply remuxing the entire video?  Does that make a difference?

Google is the author of the video player we are using.

I tried other players, such as MXPlayer and VLC Android that use ExoPlayer under the hood, and they play the video fine. Emby is the only one with an issue.

The only minor issue I had was with MXPlayer where no subs showed while the font cache was building (due to their ASS implementation), but they displayed a warning for the duration and the font cache built within 10 seconds.

On 4/17/2025 at 4:43 AM, ebr said:

Different players have different tolerances for "out of spec" or "bad" media.  Google's stance on this issue is that they refuse to put workarounds in their code to account for bad inputs.  Their answer is always "fix the input".  So that could explain it.

I had a chat over the weekend with one of the libmatroska developers to help look at the issue, since it's weird only the subs don't work (usually a mux issue wouldn't play at all), and they said the file is perfectly valid and that the player is the issue.

Given that other players using ExoPlayer/media3 work fine and the source file is confirmed valid even by one of the libmatroska developers, I strongly believe that this is NOT a bad media issue.

Posted
51 minutes ago, lolque said:

I tried other players, such as MXPlayer and VLC Android that use ExoPlayer under the hood, and they play the video fine. Emby is the only one with an issue.

The only minor issue I had was with MXPlayer where no subs showed while the font cache was building (due to their ASS implementation), but they displayed a warning for the duration and the font cache built within 10 seconds.

I had a chat over the weekend with one of the libmatroska developers to help look at the issue, since it's weird only the subs don't work (usually a mux issue wouldn't play at all), and they said the file is perfectly valid and that the player is the issue.

Given that other players using ExoPlayer/media3 work fine and the source file is confirmed valid even by one of the libmatroska developers, I strongly believe that this is NOT a bad media issue.

Neither vlc nor mxplayer are built with exoplayer.

Posted
20 minutes ago, Luke said:

Neither vlc nor mxplayer are built with exoplayer.

Happy to test on any player you know is built with ExoPlayer. If I can confirm it's not an Emby issue I'd be happy to work this upstream with ExoPlayer. However as it is right now, Emby is the only player that won't play these files.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...