![]() |
Exoplayer black screen on Android TV when transcoding ASS subtitles - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Support (https://forum.jellyfin.org/f-support) +--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting) +--- Thread: Exoplayer black screen on Android TV when transcoding ASS subtitles (/t-exoplayer-black-screen-on-android-tv-when-transcoding-ass-subtitles) Pages:
1
2
|
RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - cheeselord - 2024-02-03 I've attached the log that was generated from running that command. ![]() Out of curiosity, I put the outputFile.mkv into my Jellyfin library just to see what would happen. It took 15 seconds to load, but it started to play in ExoPlayer and the subtitles were burned in correctly. Additionally, only one transcode log was generated as opposed to the multiple I would usually see while it was attempting to start. I'll attach the log. ![]() After that successfully played, I tried to play the original file. It did the same thing as it usually does and just continually attempted to transcode before I backed out of the player. I've attached one example of the many transcode logs it generated. ![]() I then tried to play the outputFile.mkv again, but it would not play. It started to do the same thing the original file did. Here is one of the many logs it generated. ![]() After this, I unchecked the "Allow encoding in HEVC" option and tried again. This time both files played just fine and generated only one transcode log per file, but it took awhile for them to load. While they were loading, I checked the Dashboard to see what Jellyfin was reporting, and while they were loading, it reported that both files were "Direct Playing". When ExoPlayer started playing the file, that's when the Dashboard showed that the file was being transcoded. I've attached a log of the original file successfully playing. ![]() Since unchecking this option seemed to help, I wanted to check "Allow encoding in HEVC" again to see if I can get it to fail. However, both files play just fine now. I can't make heads or tails of this, so I apologize for all of the logs. Does the server not pick up on the changes to the Playback section right away or is this just a red herring? RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - TheDreadPirate - 2024-02-04 I've noticed it can take a sec to pick up changes. I always restart Jellyfin whenever I make significant changes because of what you're describing. RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - cheeselord - 2024-02-04 It doesn't look like checking or unchecking "Allow encoding in HEVC format" makes a difference here. Everytime I changed a setting in Playback, I would restart Jellyfin. Nothing else has been changed to my knowledge, but the episode consistently plays each time now and generates exactly one transcode log. It takes about 15 seconds to load though. Some other anime episodes with ASS subtitles load within 2-3 seconds. Additionally, I wanted to test another piece of anime media with ASS subtitles that would consistently give me issues in Exoplayer. These are movies, and none of the above troubleshooting has allowed them to play in Exoplayer. Other anime movies that have PGSSUBs can DirectPlay on the Firestick. This particular piece of media throws the "Player error encountered. Will retry..." (as opposed to the episodes we've been looking at which never showed this error), and continues to generate transcode logs in Jellyfin until I exit the player. In the server logs I can see that ffmpeg has exited with code 137. Immediately when I exit Exoplayer though, quite a few ffmpeg processes are launched and the transcode logs are written to. These processes will continue to run until I manually kill them. Here is one log of many where the ffmpeg process exited with code 137. This will keep happening until I exit Exoplayer. ![]() ![]() Once I closed Exoplayer, 2 or 3 ffmpeg processes fired off and started writing to the log until I manually killed them. ![]() I would like to think that maybe this is hardware related on my end, but it still seems like it's specific to something inside the media that is giving me issues. RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - TheDreadPirate - 2024-02-05 The only thing that makes sense is that it is taking a long time to extract all the fonts or something. From the ffmpeg command. Code: fontsdir='/config/cache/attachments/0f61260f1a76e2d52dafda15a48bcf35' When you start it a second time I see that it is looking at the same path for the ASS subtitle fonts. How long as you waiting before backing out? Maybe give it a sec more? What is your media stored on? RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - cheeselord - 2024-02-05 That's what I was thinking as well. The only logical difference I can see is that each piece of media might be using different fonts. I was waiting about 2 minutes before. Out of curiosity I waited about 5 minutes before backing out this time - same behavior. Here's a screen capture of the logs it generated within a couple minutes. Almost everyone of them stops at this: Code: [Parsed_subtitles_3 @ 0x55bd310db480] libass API version: 0x1502000 Since I waited longer this time, I did notice some of the logs are being written to as if a successful transcode is occuring even before I back out of the player. Once I exit the player, some of them quit on their own while others will transcode the entire length of the film if I don't manually stop them. This takes up quite a bit of resources since it seems like it is trying to transcode the same file multiple times at once. For my Jellyfin library I have a single 14TB Seagate Ironwolf. I use a Samsung Evo 850 500GB SSD for Ubuntu and all of my Docker related data sources. Only media lives on the 14TB drive. Recent S.M.A.R.T. tests don't show anything wrong with the two drives. When I have the time, I can try to look into replacing fonts for this particular piece of media and see if that alleviates anything. I do not know the ffmpeg syntax well enough at the moment. RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - TheDreadPirate - 2024-02-05 As a sanity check, can you spin up another Jellyfin container? But use the official jellyfin/jellyfin image instead of the LSIO image? Keep the config and data directory separate since the LSIO and official images aren't 1-to-1, IIRC. But add the same library(s). RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - cheeselord - 2024-02-06 I spun up the official jellyfin/jellyfin image and experienced the same results. Perhaps not as many transcode attempts. However, the logs and behavior are exactly the same. Here is my compose for reference: Code: version: "3.8" Other media can transcode just fine on this container and nvidia-smi is reporting that the GPU has been passed through. Disabling the "Allow encoding in HEVC format" option did not help in this container either. RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - cheeselord - 2024-02-12 Just wanted to provide a small update. I wasn't able to effectively "replace" fonts for the media. I tried to pull known good fonts and attach them to the media container using the same file names, but was met with this on all of my attempts: Code: [matroska,webm @ 0x563cff8b1480] Could not find codec parameters for stream 4 (Attachment: none): unknown codec This still gave me the same playback results as before. Therefore, I attempted to just remove the font attachments entirely to see what would happen...same results. Even when I removed the font attachments, I could still see burned in subtitles on other players like my browser, so I assume the server is using some type of fallback font. It did take awhile to load in the browser, so I wonder if ExoPlayer is just giving up too early and that is the 137 code I'm seeing? Another thing I tried was using Intel QuickSync instead of my GPU since I was having issues with it dropping out from the container already. I'm using the i5-7600 and have transcode parity with my GPU from my tests. The same playback behavior also happens with QuickSync, so I'm inclined to believe it's some limitation of the Android-TV client. Here are the logs after removing the font attachments. It does the same behavior where after waiting it will successfully start transcoding and writing to one of the logs, but I do not see anything on the screen: ![]() ![]() ![]() Here's a summary of everything thus far. I may transition this to an issue on Github when I have the time, since it seems to be related to the Android-TV client.
RE: Exoplayer black screen on Android TV when transcoding ASS subtitles - TheDreadPirate - 2024-02-12 After helping some other users with their LSIO docker setups, where it was determined that the LSIO image behaves differently from the official image, I decided to spin up a LSIO Jellyfin container to attempt to replicate your problem. H264, ASS subs, exo player, transcoded. Unfortunately, everything functioned as expected on my CCwGTV. So I agree with your conclusion that it is something to do with the Firestick/FireOS. There have been quite a few Firestick users here and in the matrix/discord with similar weird problems. A few had luck explicitly selecting libVLC, but not all. |