jellyfin / jellyfin-webos

WebOS Client for Jellyfin
https://jellyfin.org
Mozilla Public License 2.0
655 stars 68 forks source link

Videos requiring transcoding do not play if served by v10.9.x server #236

Closed ammgws closed 5 months ago

ammgws commented 5 months ago

Even though this is just a wrapper I have opened this here as have been unable to reproduce on other clients (webOS TV 22 Simulator and browser on PC).

Device: 2018 LG with webOS 4.4.0 (Chrome 79) Client: jellyfin webOS v1.2.2 (also tried master branch)

With v10.9.7, the server logs show transcoding is occurring but the webOS client freezes and does not play anything. Using ares-inspect seems to suggest some error with the player: image

However the same client when served by v10.8.13 server can play the transcoded file without issues: image

(sorry about the screenshots, am unable to copy paste properly from Chrome79 devtools)

dmitrylyzo commented 5 months ago

In 10.8 we didn't highlight these errors, but they are there: playback manager error type: mediadecodeerror. After the error, the client should retry. What is after the last Requesting url without ... PlaybackInfo for 10.9?

ChobieChobes commented 5 months ago

I've noticed a similar issue as well. When I use the inbuilt Web Browser it plays fine. LG B8 OLED and v10.9.6 Server. Let me know if there is any further tests you need. Unfortunately I don't know how to get ares-inspect working.

ammgws commented 5 months ago

What is after the last Requesting url without ... PlaybackInfo for 10.9?

Just the Progress endpoint over and over (payload is exactly the same):

image image

dmitrylyzo commented 5 months ago

Just the Progress endpoint over and over (payload is exactly the same)

You can ignore Progress - client sends current playback status. What is the status of PlaybackInfo (or something else) before Progress?

ammgws commented 5 months ago

Status of PlaybackInfo is 200. However I compared the DeviceProfile/CodecProfiles payload for PlaybackInfo and saw hls was enabled on the account logged into the v10.9.7 server but on the other. I thought I had already tried this, but after disabling 'Prefer hls' I can now play those transcoding videos from v10.9.7 server. Also tested with the v10.8.13 server, and found enabling hls there reproduces the issue.

So it was due to hls setting all long...? I dont remember touching that setting after updating... :/

dmitrylyzo commented 5 months ago

So it was due to hls setting all long...? I dont remember touching that setting after updating... :/

Do you mean Prefer fMP4-HLS Media Container? If so, it doesn't seem to work on webOS and Tizen. It was accidentally activated for webOS in https://github.com/jellyfin/jellyfin-web/pull/5289 (because webOS is Chrome), and when you save settings, it is saved to the client's local storage. So you need to explicitly disable it and save settings.

ammgws commented 5 months ago

Yes it was Prefer fMP4-HLS Media Container. That explains why I don't remember changing the setting.

I think that this issue can be closed then since it isn't due to the webOS client.

Thanks for the help!

ammgws commented 5 months ago

Not sure if a new ticket is needed in jellyfin-web, or if it has been solved already. Can I leave that up to you since you probably have a better idea?

dmitrylyzo commented 5 months ago

There's already a PR fixing the default Prefer fMP4-HLS Media Container value for webOS: https://github.com/jellyfin/jellyfin-web/pull/5553

ChobieChobes commented 5 months ago

Yes it was Prefer fMP4-HLS Media Container. That explains why I don't remember changing the setting.

I think that this issue can be closed then since it isn't due to the webOS client.

Thanks for the help!

Thanks this solved it for me as well!