jellyfin-android icon indicating copy to clipboard operation
jellyfin-android copied to clipboard

ASS subtitles not rendered properly but fine on browsers

Open SodaWithoutSparkles opened this issue 1 year ago • 6 comments

Describe the bug

  1. Have a video file that:
    • has ASS subtitles with special styles and fonts
  2. Playback the videp file on jellyfin android and select that subtitle
  3. observe that the subtitles are not working correctly
    • Incorrect font
    • Correct color
    • Black background behind text
    • Simultaneous subtitles became jibbrish mess after displaying "correct-ish" subtitles for 1 frame
  4. Use a browser to view the same video
  5. observe that everything works correctly when the video was remuxed:
    • Font is correct without dark background
    • Simultaneous subtitles are displayed correctly

  • When using web player, video gets transcoded, but without the correct font
  • When client settings > ass support in direct play is disabled, video gets transcoded without the correct font
  • when using VLC as external player, most things are normal but still without correct font
  • When using firefox or chrome, zero issues occur. Font, background and simultaneous subtitles are all fine.
  • System subtitles settings does not affect the outcome
  • subtitle file can be provided upon request

Logs

Attached upon further request

Application version

2.6.1

Where did you install the app from?

Google Play

Device information

Poco X4 GT

Android version

Android 13, MIUI 13.2.5.0

Jellyfin server version

10.9.1

Which video player implementations does this bug apply to?

  • [ ] Web player (default)
  • [X] Integrated player (ExoPlayer)
  • [ ] External player (VLC, mpv, MX Player)

SodaWithoutSparkles avatar May 16 '24 16:05 SodaWithoutSparkles

It turns out that it doesnt matter what the video file is. The same ASS subtitle can be pasted to basically any video file and it would have an issue.

It also does not matter if the video is remuxed or directly played.

Pic1: Chrome (correct) (with subtitles from another file): Screenshot_2024-05-17-00-25-36-722_com android chrome-edit

Pic2: Chrome (correct simultaneous with font and no background) (See those tiny text at top and bottom) : Screenshot_2024-05-17-00-29-25-648_com android chrome


Pic3: Jellyfin android, incorrect font and background, and subtitles from another file. Compare it with Pic1: Screenshot_2024-05-17-00-23-34-332_org jellyfin mobile

Jellyfin android, flash 1 frame with "half correct" subtitles then jibbrish which looks like ASS styling. The "half correct" subtitles were supposed to be simultaneous, but the bottom was missing, font is wrong and background was back. These two should match with Pic2.

Pic4: Screenshot_2024-05-17-00-27-23-059_org jellyfin mobile

Pic5: Screenshot_2024-05-17-00-27-30-200_org jellyfin mobile

SodaWithoutSparkles avatar May 16 '24 16:05 SodaWithoutSparkles

Last time i recall JMP doesn't have any control on external players like Android's ExoPlayer when it comes to specific rendering issues like these, integrated means it's embedded in the app and doesnt call an external activity to trigger it, but still it's an external library or dependency which the project cant control

You may want to report the issue here https://github.com/google/ExoPlayer/issues

vincejv avatar May 25 '24 12:05 vincejv

Actually the issue is already known in upstream

https://github.com/google/ExoPlayer/issues/8435

vincejv avatar May 25 '24 12:05 vincejv

Also dupe of #252

vincejv avatar May 25 '24 14:05 vincejv

Sorry for the dupe. My search didnt find that issue probably because of different symptoms. I was searching for jibbrish ASS subtitle phenomenon as shown in Pic5.

It could also be related to https://github.com/google/ExoPlayer/issues/10295

SodaWithoutSparkles avatar May 25 '24 20:05 SodaWithoutSparkles

It should also be noted that ExoPlayer is deprecated and this bug is probably not going to be fixed (if we dont move to the suggested library):

This project is deprecated. All users should migrate to AndroidX Media3. Please refer to our migration guide and script to move your codebase to the Media3 package names.

If it was not using AndroidX's version, maybe we should switch

If it was using AndroidX's version, maybe I should open another issue referencing the aforementioned issues as well? It doesnt seem like anyone has raised this ASS styling issues at the new repo, so I assume that this was either fixed or nobody noticed it?

SodaWithoutSparkles avatar May 25 '24 21:05 SodaWithoutSparkles

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

jellyfin-bot avatar Sep 23 '24 03:09 jellyfin-bot