Jellyfin Forum
SOLVED: Syncplay again - 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: SOLVED: Syncplay again (/t-solved-syncplay-again)



Syncplay again - dakazze - 2024-11-08

Hey!

I love the syncplay feature and I did my research and know the teams official stance on the state of this feature. I want to summarize my current issue but I would also like to talk about solutions.

My current issue:
Before the last update syncplay was finicky but we at least got it to work and when it worked it was okay for the entire session across multiple different media sources back to back.
PC/firefox:
With the current update it is possible to join a syncplay group but as soon as I join a group the last opened item gets brought up for me in a paused state and nothing I or others do affects other members. Stopping syncplay and rejoining the sync session via the syncplay button/menu brings up the "syncplay enabled" notification again and brings me back to the last item. What is funny is that using the playback controls on my side brings up the syncplay specific icons for play and waiting in the middle of the screen.
webOS (LG TVs) app:
It is possible to open a syncplay group, have people join your group or join other peoples groups. From there nothing happens at all and when clicking the syncplay button after joining a group the syncplay controls (Join playback session / exit session / syncplay settings) dont show up at all.


Now my big question is:

Is there some kind of summary of known constellations that work or dont work?
  • Jellyfin server versions (I would say the current version made it worse)
  • Jellyfin player (firefox previously worked, webOS does not)
  • Jellyfin player versions
  • ???
  • profit

And:

Is there anything we can do to help?
  • Gather information (what exactly?)
  • Gather logs (of what exactly?)
  • Would it help to gather donations specifically for the syncplay feature?
I already donated to the project and I am pretty sure that there are enough people who are willing to give money for that specific feature who would otherwise dont think of contributing!


RE: Syncplay again - niels - 2024-11-08

The most important part to keep SyncPlay working is a stable network connection and properly configured WebSockets (when connecting through a reverse proxy). Once those two requirements are met the feature should work reasonably well. There are of course some bugs with it but those all have workarounds ( pause & play again fixes most out-of-sync problems)


RE: Syncplay again - dakazze - 2024-11-09

(2024-11-08, 01:24 PM)niels Wrote: The most important part to keep SyncPlay working is a stable network connection and properly configured WebSockets (when connecting through a reverse proxy). Once those two requirements are met the feature should work reasonably well. There are of course some bugs with it but those all have workarounds ( pause & play again fixes most out-of-sync problems)

Thanks for the Tip, I forgot I switched to a paid domain and NginX since the last update. Doing the websockets setup stuff worked BUT all clients need to use the external address via the proxy. Funny enough if I try with two users, both inside my LAN, both using the internal IP, it does not work either. I dont really have a usecase for that constellation anyway, just wanted to try.
What sucks is that my upload bandwidth is a limiting factor so I cant just stick to the external adress with my local WebOS TV and switching back and forth between servers using a TV remote is a pain in the ass.


RE: Syncplay again - dakazze - 2024-11-10

I'd really appreciate if anyone has an idea what could be the cause for this!
It would be great if I could get syncplay between local and external clients to work.


RE: Syncplay again - TheDreadPirate - 2024-11-10

If your router supports NAT loop back you can use your reverse proxy and domain name with internal clients, but the traffic will stay local. Your other option, if your router doesn't support NAT loop back, is to create custom DNS entries so that your domain resolves to the local IP for internal clients.


RE: Syncplay again - dakazze - 2024-11-11

Hahaha this feature is making me go crazy!!!

After doing research on NAT loopback for almost an hour (I am using openWRT, so enough resources) I figured I'd have to spend a few hours to figure this out so I set a hostname in openWRT for jelly.local, pointed that to nginx and added jelly.local to my nginx redirect for the external domain. I then set the server for the WebOS TV to jelly.local and used my laptop to connect to the external domain and syncplay worked right away!
.... it worked until I switched to another item in my library and now, no matter how often I restart both clients and reopen/rejoin syncplay groups it wont work again ^^
Just like before I get a notification that the TV-client has joined the syncplay session but nothing happens on the TV. When I switch back to the external adress on the TV syncplay works again!
With both clients using the new jelly.local address it also does not work...

If there are any more ideas I would appreciate it but I made another 20$ donation (name dakazze) earlier today regardless.

edit:
even more fun, having the laptop use the jelly.local address and the TV using the external domain syncplay works ^^
Why cant it just not be the constellation I need?

edit2:
one more thing... I now also tried disabling the cloudflare proxy, disabled "force SSL" in NginX and let both clients connect via http:// does not help either.
Since using the local address on the second client seems to work, to me this sounds like there is something weird going on with the webOS app!


RE: Syncplay again - TheDreadPirate - 2024-11-11

I THINK OpenWRT automatically does NAT loop back. My router is also OpenWRT based and I wasn't able to find an explicit NAT loop back setting like I had on my previous FreshTomato based router.

Having said that, ALL of my clients, local and external, always use my external address and I let my router and Nginx handle the connections. I verified that my local clients never leave my LAN.


RE: Syncplay again - dakazze - 2024-11-11

(2024-11-11, 01:03 AM)TheDreadPirate Wrote: I THINK OpenWRT automatically does NAT loop back.  My router is also OpenWRT based and I wasn't able to find an explicit NAT loop back setting like I had on my previous FreshTomato based router.

Having said that, ALL of my clients, local and external, always use my external address and I let my router and Nginx handle the connections.  I verified that my local clients never leave my LAN.

YOU did it again!
Because I was not sure if the traffic gets routed via the internet I checked the WAN traffic in openWRT before posting here and outbound traffic clearly showed that my jellyfin traffic gets routed externally.
Your post made me think though and so I disabled the cloudflare proxy for that subdomain. Now all traffic for my TV stays locally when using the external domain AND syncplay works!!

... for now ^^
I would have preferred keeping the proxy but I guess I can live with that.

Again, thank you so much for your help!


Oh and btw. NAT loopback is still a setting in openWRT when setting up a port forward (under advanced) but it is enabled by default.


RE: Syncplay again - TheDreadPirate - 2024-11-11

I had to double check, but it appears that the GL-iNet variant of OpenWRT does not have the NAT loop back setting exposed. It appears to be on by default. I took the extra step of setting custom DNS entries so that my domain still resolves to my local IP if my Internet were to go out.