Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Since 0.17: Player erroring after trying to DirectPlay media with (presumably) unsupported ASS subtitles #3898

Closed
anthonymag opened this issue Aug 14, 2024 · 7 comments
Labels
bug Something isn't working playback Issue related to media playback

Comments

@anthonymag
Copy link

anthonymag commented Aug 14, 2024

Describe the bug

This seems to have started since the 0.17 update.
In the past these were always burned in because the codec isn't supported on my Android TV device (special fonts? I guess?). By the logs it seems like they're trying to direct play now.
As far as I know there isn't a way for me to just choose SRT subs before the media begins playing.

  1. Attempt to play media with ASS subtitles
  2. Get "Player error encountered"...."Too many errors, giving up"

Web and web wrapper clients work fine. This is happening on two different "Chromecast with Google TV" devices.

It also seems that if I start the episode on another device, then resume from the ATV, it works.

Logs

App:

08-13 19:02:07.592  7327  7327 D NavigationRepositoryImpl: Navigating to Fragment(fragment=class org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment (Kotlin reflection is not available), arguments=Bundle[{Position=0}]) (via navigate function)
08-13 19:02:07.748  3918  5859 I MediaFocusControl: requestAudioFocus() from uid/pid 10071/7327 AA=USAGE_MEDIA/CONTENT_TYPE_MUSIC clientId=android.media.AudioManager@d791ee7org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment$6@bc81a13 callingPack=org.jellyfin.androidtv req=1 flags=0x0 sdk=34
08-13 19:02:12.832  3918  5859 I MediaFocusControl: abandonAudioFocus() from uid/pid 10071/7327 clientId=android.media.AudioManager@d791ee7org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment$6@bc81a13
08-13 19:02:12.834  3918  5859 I MediaFocusControl: abandonAudioFocus() from uid/pid 10071/7327 clientId=android.media.AudioManager@d791ee7org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment$6@bc81a13
08-13 19:02:13.497  3918  5859 W NotificationService: Toast already killed. pkg=org.jellyfin.androidtv token=android.os.BinderProxy@65f7e82
08-13 19:02:17.557  3918  5859 W NotificationService: Toast already killed. pkg=org.jellyfin.androidtv token=android.os.BinderProxy@391b80b

Container:

[2024-08-14 00:01:09.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : 3248a9408298f8caa11dc1cf0e1a409f31b9fd45-359d73f376e74e27a72d7bc8486cf11e-6ab75893b7fb314d9852f70545694757
[2024-08-14 00:01:09.900 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 08/14/2024 00:01:09
[2024-08-14 00:01:09.900 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[2024-08-14 00:01:09.900 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[2024-08-14 00:01:10.720 +00:00] [INF] [31] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "3248a9408298f8caa11dc1cf0e1a409f31b9fd45-359d73f376e74e27a72d7bc8486cf11e-6ab75893b7fb314d9852f70545694757"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : "2600:1700:17cd:42f:f5f4:3344:7508:2e7b"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id     = "6ab75893b7fb314d9852f70545694757"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = "359d73f376e74e27a72d7bc8486cf11e"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 3
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = "6ab75893b7fb314d9852f70545694757"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = "359d73f376e74e27a72d7bc8486cf11e"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = "DirectPlay"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = "Android TV"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = "Living Room Chromecast"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = "One Piece - s19e798 - An Enemy Worth 800 Million! Luffy vs. Thousand-Armed Cracker!"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = "6ab75893b7fb314d9852f70545694757"
[2024-08-14 00:01:29.899 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = "Episode"
[2024-08-14 00:01:29.900 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[2024-08-14 00:01:29.900 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback tracker found, adding playback info : "3248a9408298f8caa11dc1cf0e1a409f31b9fd45-359d73f376e74e27a72d7bc8486cf11e-6ab75893b7fb314d9852f70545694757"
[2024-08-14 00:01:29.900 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving playback tracking activity in DB
[2024-08-14 00:01:29.906 +00:00] [INF] [19] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[2024-08-14 00:01:31.147 +00:00] [INF] [33] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Webhook Item Added Notifier" Completed after 0 minute(s) and 0 seconds

FFmpeg logs

https://pastebin.com/aQYU2Lb6

Media info of the file

Media Info
One Piece (1999) - S19E0798 - An Enemy Worth 800 Million! Luffy vs. Thousand-Armed Cracker! [HDTV-1080p][10bit][x265][AAC 2.0][EN+JA]-G
Containermkv
Path/media/anime/One Piece (1999) [tvdbid-81797]/Season 19/One Piece (1999) - S19E0798 - An Enemy Worth 800 Million! Luffy vs. Thousand-Armed Cracker! [HDTV-1080p][10bit][x265][AAC 2.0][EN+JA]-G.mkv
Size399 MB
Video
Title1080p HEVC SDR
CodecHEVC
AVCNo
ProfileMain 10
Level120
Resolution1920x1080
Aspect ratio16:9
AnamorphicNo
InterlacedNo
Framerate23.976025
Bitrate2348 kbps
Bit depth10 bit
Video rangeSDR
Video range typeSDR
Pixel formatyuv420p10le
Ref frames1
Audio
TitleEnglish - AAC - Stereo - Default
Languageeng
CodecAAC
AVCNo
ProfileLC
Layoutstereo
Channels2 ch
Bitrate177 kbps
Sample rate48000 Hz
DefaultYes
ForcedNo
ExternalNo
Subtitle
TitleSigns & Songs - English - Default - ASS
Languageeng
CodecASS
AVCNo
DefaultYes
ForcedNo
ExternalNo
Audio
TitleJapanese - AAC - Stereo
Languagejpn
CodecAAC
AVCNo
ProfileLC
Layoutstereo
Channels2 ch
Bitrate196 kbps
Sample rate48000 Hz
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitleFull Subtitles [Hatsuyuki] - English - ASS
Languageeng
CodecASS
AVCNo
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitleCrunchyroll Subtitles - English - ASS
Languageeng
CodecASS
AVCNo
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitleFrench (Kaerizaki-Fansub) - ASS
Languagefre
CodecASS
AVCNo
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitleSpanish - ASS
Languagespa
CodecASS
AVCNo
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitleBrazilian Portuguese - ASS
Languagepor
CodecASS
AVCNo
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitleArabic (KiyoshiiSubs) - ASS
Languageara
CodecASS
AVCNo
DefaultNo
ForcedNo
ExternalNo
Subtitle
TitlePob - SUBRIP - External
Languagepob
CodecSUBRIP
AVCNo
DefaultNo
ForcedNo
ExternalYes

Application version

0.17.3

Device information

Chromecast with Google TV 4K

Android version

Android 13

Jellyfin server version

10.9.9

@anthonymag anthonymag added bug Something isn't working playback Issue related to media playback labels Aug 14, 2024
@anthonymag anthonymag changed the title "Player error encountered" on some media with ASS subtitles since 0.17 Since 0.17: Player erroring after trying to DirectPlay media with (presumably) unsupported ASS subtitles Aug 14, 2024
@VampiricAlien
Copy link

Any ffmpeg logs?

@anthonymag
Copy link
Author

I included them but they're long so I added a link:

https://pastebin.com/aQYU2Lb6

@VampiricAlien
Copy link

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)

Packet duration: -32 / dts: 67726264 is out of range
FFmpeg has encountered a packet with an invalid duration or timestamp (DTS - Decode Time Stamp) value. Specifically:

The packet duration is negative (-32), which is invalid.
The DTS value (67726264) is considered out of range for the output format.

There was some changes for HEVC, I wonder if that is what's causing the errors.

Going to /web/index.html?#/dashboard/playback/transcoding in Jellyfin web, is encoding unticked?

@anthonymag
Copy link
Author

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)

Packet duration: -32 / dts: 67726264 is out of range
FFmpeg has encountered a packet with an invalid duration or timestamp (DTS - Decode Time Stamp) value. Specifically:

The packet duration is negative (-32), which is invalid.
The DTS value (67726264) is considered out of range for the output format.

There was some changes for HEVC, I wonder if that is what's causing the errors.

Going to /web/index.html?#/dashboard/playback/transcoding in Jellyfin web, is encoding unticked?

Thanks! Here are my settings.

Screenshot_20240814-230704~2.png

@anthonymag
Copy link
Author

Note for others seeing this: my workaround for now is to set my default bitrate super low (like below 1mbps for anime) to force transcoding, which then lets me select the subtitles causing them to burn in as expected. I can then turn the bitrate back up.

@flubbacrud
Copy link

i'm pretty sure this was the issue I am facing #3913

Rollback to 0.16.11 client and set player to LibVLC, see if it works for you

@anthonymag
Copy link
Author

I'm no longer experiencing this since #3916

When a subtitle codec is unsupported, the video is transcoding as expected now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working playback Issue related to media playback
Projects
None yet
Development

No branches or pull requests

3 participants