jellyfin / jellyfin-roku

The Official Roku Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
443 stars 135 forks source link

Direct play crash when external srt is present #1634

Open videodisco opened 8 months ago

videodisco commented 8 months ago

Software Versions

Describe the bug

When I try to direct play the movie Avatar when an external srt file is present, my roku freezes for 30 secs and auto reboots. When I remove the external srt file, the movie plays without issue. I am able to play the movie with subtitles if I transcode on both the roku and web player. This does not apply to all of my mkv. I have one H264 mkv that will play external srt with no issue on the roku. I tried renaming the srt to different languages, enable/disabled force, enable/disabled default but it always crashed my roku.

external srt: "Avatar (2009).forced.en.srt" mkv: "Avatar (2009).mkv

How To Reproduce

  1. Add external srt file to movie dir
  2. Start movie in direct play on roku

Expected behavior

Movie plays without issue and shows subtitles properly

Logs

[2024-01-12 00:45:05.169 -06:00] [INF] User policy for "roku". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-01-12 00:45:05.169 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Official Roku Client", Path="/mnt/Media/Movies/Avatar (2009).mkv", AudioStreamIndex=3, SubtitleStreamIndex=-2 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/6c86f66a-aa67-ec17-2a54-7a190381b3bb/stream.mkv?MediaSourceId=6c86f66aaa67ec172a547a190381b3bb&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=3&SubtitleStreamIndex=-2&api_key=&SubtitleMethod=Encode&Tag=9f63fdc3e0496bd57f999dbfe378f8a9" [2024-01-12 00:45:05.565 -06:00] [INF] User policy for "roku". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-01-12 00:45:05.565 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Official Roku Client", Path="/mnt/Media/Movies/Avatar (2009).mkv", AudioStreamIndex=3, SubtitleStreamIndex=0 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/6c86f66a-aa67-ec17-2a54-7a190381b3bb/stream.mkv?MediaSourceId=6c86f66aaa67ec172a547a190381b3bb&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=3&api_key=&Tag=9f63fdc3e0496bd57f999dbfe378f8a9"

Screenshots

Connection Information

Additional context

Video Title: MPEG-H HEVC Video / 5080 + 52067 kbps / 2160p / 3.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision + HDR10 / BT.2020 - 4K Codec: HEVC Profile: Main 10 Level: 153 Resolution: 3840x2160 Aspect ratio: 16:9 Interlaced: No Framerate: 23.976025 Bitrate: 62311 kbps Bit depth: 10 bit Video range: HDR Video range type: HDR10 DV title: DV Profile 7.6 DV version major: 1 DV version minor: 0 DV profile: 7 DV level: 6 DV rpu preset flag: 1 DV el preset flag: 1 DV bl preset flag: 1 DV bl signal compatibility id: 6 Color space: bt2020nc Color transfer: smpte2084 Color primaries: bt2020 Pixel format: yuv420p10le Ref frames: 1

Audio Title: Dolby TrueHD/Atmos Audio / 7.1 / 48 kHz / 4408 kbps / 24-bit - English - Default Language: eng Codec: TRUEHD Layout: 7.1 Channels: 8 ch Bitrate: 4409 kbps Sample rate: 48000 Hz Bit depth: 24 bit Default: Yes Forced: No External: No

Audio Title: Compatibility Track / Dolby Digital Audio / 5.1 / 48 kHz / 640 kbps - English Language: eng Codec: AC3 Layout: 5.1 Channels: 6 ch Bitrate: 640 kbps Sample rate: 48000 Hz Default: No Forced: No External: No

Subtitle Title: English - Default - Forced - SUBRIP - External Language: eng Codec: SUBRIP Default: Yes Forced: Yes External: Yes

1hitsong commented 8 months ago

Does it play using the web client?

videodisco commented 8 months ago

Does it play using the web client?

Yes it works on the web client, though that is being transcoded. It also works in the windows jellyfin media player with direct play.

videodisco commented 8 months ago

After messing around with it, it seems to occur when the I select dolby digital (AC-3) for audio. On another mkv if I select DTS, I am able to play the movie with external srt, but when I switch to dolby digital it crashes

mikewhitby commented 3 months ago

Unsure but is this related to #1277, e.g. is having an external SRT making the Roku JF client select a nonexistent or incompatible audio track?