![]() |
webOS: gray screen when attempting playback of any video - 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: webOS: gray screen when attempting playback of any video (/t-webos-gray-screen-when-attempting-playback-of-any-video) |
webOS: gray screen when attempting playback of any video - nagisa - 2024-09-18 I am encountering a weird issue where I get a gray screen with no way to do anything else once I invoke playback of any video on my LG OLED77C21LA at firmwareVersion 13.30.85 and sdkVersion 8.3.0. Once I pick some content to play, I see a very brief spinner as the metadata is getting fetched and then the display immediately switches to gray. The only action I can do at that point is to press the "back" button on the remote and kill the app. The jellyfin app otherwise appears to be working perfectly fine up to that point. I'm pretty sure this is not related to transcoding problems: if I access jellyfin through the TV's built-in web browser, jellyfin and playback work just fine. Furthermore, I believe the app fails even before it initiates the playback session proper. The only difference between these two contexts is that the app's jellyfin is inside an iframe. I have tried debugging the app with the inspector and I am not seeing any errors at all when this occurs. One thing that I do see, however, is that the iframe's #document becomes empty. I don't see any javascript errors, and no breakpoints are triggered when I ask the debugger to break on uncaught exceptions. The inspector is somewhat funky, though, so I'm not sure how reliable this is. More curious is that I also don't see the app getting to the point where the usual http requests for playback are initiated. There's the bitrate test, fetch for some styles (e.g. GET /web/htmlVideoPlayer-style-scss.css ), the app opens a /socket and then its gone.I have considered that this might be a memory consumption problem, but restart the TV by pulling out power and plugging it back in does not help, unfortunately. I'm not sure when the problem started -- I'm not using jellyfin on the TV very often. First I noticed this problem is with 10.9.7, but 10.9.11 also has this problem. The app itself is at 1.2.2 from homebrew store. Has anybody seen anything of a similar sort? RE: webOS: gray screen when attempting playback of any video - TheDreadPirate - 2024-09-18 Can you share your full jellyfin log via pastebin? Also, do you have "Prefer fMP4-HLS Media Container" enabled in the WebOS app? Also, is the content HDR? Does this only happen with some content or with any content? RE: webOS: gray screen when attempting playback of any video - nagisa - 2024-09-18 > Can you share your full jellyfin log via pastebin? There isn't anything especially revealing in there unfortunately. I restarted JF, went to TV (192.168.130.2) to reproduce the issue and came back to get this log: https://gist.github.com/nagisa/54528f36d9daaa1f54a4038a0e3c6448. You can see here that it doesn't even get to spawning ffmpeg or anything of the sort that which is what would be the usual behaviour when using the web browser on the TV. The client behaves as if the user exit the app. (Which jibes with my observation that the iframe becomes empty, effectively unloading the client.) > Also, do you have "Prefer fMP4-HLS Media Container" enabled in the WebOS app? Setting this option either way changes nothing. > Also, is the content HDR? Does this only happen with some content or with any content? My particular test files are not HDR. Happens with any video or audio file for me. Photos work fine. RE: webOS: gray screen when attempting playback of any video - TheDreadPirate - 2024-09-18 Actually the log is revealing. Code: [2024-09-18 21:51:26.902 +03:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["127.0.0.1"] It looks like you manually configured Jellyfin to only bind to the local loopback? Was that intentional? RE: webOS: gray screen when attempting playback of any video - nagisa - 2024-09-18 Yes, this is fronted by an nginx, for HTTPS and similar such reasons. Besides, if this was the fault, using JF via TV's web browser would not work either. For posterity this is my current nginx config:
This is, for the most part, based on https://jellyfin.org/docs/general/networking/nginx/. I had to make some changes to the suggested configuration in the past, especially with regards to CSP headers in order to make the webOS app able to load jellyfin interface at all, but as things stand right now, using jellyfin.domain on the TV's web browser works, as does using every other client that's not the webOS app.FWIW I tried various changes to the nginx config as well, such as removing the Permissions-Policy header, the X-content-type-options header, bringing the location /socket config in from the sample configuration and such. None of that has helped, unfortunately.
RE: webOS: gray screen when attempting playback of any video - TheDreadPirate - 2024-09-18 What's the point of manually listening on every IP? And what is the point of binding to local host only (in jellyfin)? And definitely bring the socket into the same server block. For testing, can you remove the explicit address bind in Jellyfin, restart Jellyfin, and try again? We need to remove that as a possible factor. My nginx config for reference. Code: server { RE: webOS: gray screen when attempting playback of any video - nagisa - 2024-09-19 > What's the point of manually listening on every IP? That's because this nginx server is running on a machine that has NICs to the public internet and has other server blocks that are serving content to the public internet. Binding 0.0.0.0/:: would expose jellyfin to "out there" which is something I definitely don't want to do.> And what is the point of binding to local host only (in jellyfin)? Same idea as above. Since nginx is running on the same machine, there also seemed to be no real point to to bind addresses outside of what's strictly necessary for the reverse proxy to access jellyfin. That said I do have a firewall and I can try pointing TV directly at jellyfin without going through nginx middleman. --- So here are the things I tried: 1. Bind jellyfin to 0.0.0.0, and have webOS connect directly to http://192.168.130.1:8096 ==> playback works correctly;2. Have webOS connect to http://jellyfin.my.tld proxying through nginx ==> playback works correctly;3. Have webOS connect to https://jellyfin.my.tld proxying through nginx ==> playback does not work.The certificate is from LetsEncrypt and is valid. The TV also understands this certificate, seeing that it works fine when used in the regular browser. For now using http as a workaround is sufficient to me, but I still have a suspicion that this has something to do with how iframe security contexts work...
RE: webOS: gray screen when attempting playback of any video - nagisa - 2024-09-19 By the way, thanks a lot for engaging with me! RE: webOS: gray screen when attempting playback of any video - TheDreadPirate - 2024-09-19 Try adding ssl_trusted_certificate to your config. Code: ssl_certificate /etc/letsencrypt/live/domain.tld-0002/fullchain.pem; # managed by Certbot This often helps with older Android clients with kind of the same circumstances. Chrome works fine, but the Jellyfin Android app doesn't like the cert. Perhaps having ssl_trusted_certificate in your config will help with this in WebOS. |