Jump to content

False "maximum streaming limit" on a single Apple TV device (limit = 1)


Recommended Posts

steve_tv
Posted

Hi all,

I'm running Emby Server 4.9.3.0 on Linux. I share my library with several users and I have Max simultaneous streams set to 1 per user.

One user keeps getting "Your account exceeded the maximum streaming limit set by your Emby Server Administrator", but he only ever uses a single Apple TV (Emby for Apple TV 2.0.6). I checked and his device ID only ever connects from one single IP — he is definitely not streaming anywhere else at the same time.

Looking at the server log, I think the app is tripping its own limit. During a single movie, the Apple TV app repeatedly reports "Playback stopped" and then keeps sending progress events and re-adds the same play session to the same session container, and eventually starts a new PlaySessionId for the same title. The content is being transcoded (ContainerNotSupported / ContainerBitrateExceedsLimit), so a server-side transcode is still finishing when the next session registers. Server-wide I also see more play sessions added than removed (53 vs 49), so some sessions aren't being released cleanly.

My guess is that with the limit at 1 there's zero headroom, so the brief overlap between the not-yet-released old stream and the new one is counted as 2 and rejected.

My questions:

  • Is this the expected cause of a false "limit exceeded" for a user on a single device?
  • Is there any server-side setting to add a small tolerance/grace to the simultaneous-stream check, or to make a stopped session/transcode release immediately, so I can keep the limit at 1 without these false positives?

Relevant log excerpt (session IDs shortened, server IP removed) below. Full log attached.Thanks!
 

2026-07-13 15:45:18.467  SessionManager: Adding playSession 86430611... to session 337b0590...
2026-07-13 15:45:18.929  SessionManager: Playback start reported by app Emby for Apple TV 2.0.6 (3) on Apple TV playing <title>. PlaySessionId: 86430611...  IsPaused: False
      ... normal playback for ~25 min ...
2026-07-13 16:10:39.973  SessionManager: Playback stopped reported by app Emby for Apple TV 2.0.6 (3) ... PlaySessionId: 86430611...
2026-07-13 16:10:39.974  SessionManager: Removed playSession 86430611... from session 337b0590...
2026-07-13 16:12:17.094  SessionManager: Adding  playSession 86430611... to session 337b0590...      <-- same play session re-added
2026-07-13 16:13:36.796  SessionManager: Playback stopped reported by app Emby for Apple TV 2.0.6 (3) ... PlaySessionId: 86430611...
2026-07-13 16:13:36.797  SessionManager: Removed playSession 86430611... from session 337b0590...
2026-07-13 16:13:38.484  SessionManager: Adding  playSession 86430611... to session 337b0590...      <-- re-added again
2026-07-13 16:14:00.465  SessionManager: Playback stopped reported by app Emby for Apple TV 2.0.6 (3) ... PlaySessionId: 86430611...
2026-07-13 16:14:00.850  SessionManager: Removed playSession 86430611... from session 337b0590...
2026-07-13 16:14:03.005  SessionManager: Playback start  reported by app Emby for Apple TV 2.0.6 (3) ... PlaySessionId: 0e78ef8c...   <-- NEW PlaySessionId, same title/position
2026-07-13 16:39:53.203  SessionManager: Playback stopped reported by app Emby for Apple TV 2.0.6 (3) ... PlaySessionId: 0e78ef8c...

Same device across the whole log: 977 requests, all from ONE source IP.
Transcode reasons for this device: ContainerBitrateExceedsLimit, ContainerNotSupported, DirectPlayError.
Server-wide: playSession "Adding" = 53  vs  "Removed" = 49.

 

steve_tv
Posted

Can't edit previous message; 

I'm focusing on the Apple TV because its log is the cleanest to follow, but I see the same false limit errors on Chromecast and on some smart TVs too. In fact the log shows several play sessions that were opened and never closed on those clients — added 53 play sessions vs only 49 removed over the day. A few examples below: a Chromecast that played and then went silent for ~20 min with no "stop" and was never removed, plus LG and Samsung sessions that reported a start and then nothing, and one orphaned session that was added without any playback at all. If these lingering sessions still count toward the stream limit, that would explain why the "limit exceeded" error isn't specific to the Apple TV.

 

--- Chromecast: played, then went silent, never closed ---
2026-07-13 16:28:28.449  SessionManager: Adding playSession PS... to session SESS...
2026-07-13 16:28:30.635  SessionManager: Playback start    reported by Emby for Chromecast 2.1.0 on Chromecast playing <title>. PlaySessionId: e19a58ec...
2026-07-13 17:17:58.737  SessionManager: Playback progress reported by Emby for Chromecast 2.1.0 on Chromecast playing <title>. PlaySessionId: e19a58ec...
      --> log ends 17:37:14, no "Playback stopped" and no "Removed playSession" for this id (~19 min silent)

--- LG Smart TV: start reported, then no progress, never closed ---
2026-07-13 17:10:34.937  SessionManager: Adding playSession PS... to session SESS...
2026-07-13 17:10:37.230  SessionManager: Playback start reported by Emby for LG 1.0.50 on LG Smart TV playing <title>. PlaySessionId: 30709c98...
      --> no further progress, no stop, no "Removed" by end of log

--- Samsung Smart TV: start reported, then no progress, never closed ---
2026-07-13 17:02:30.150  SessionManager: Adding playSession PS... to session SESS...
2026-07-13 17:02:35.602  SessionManager: Playback start reported by Emby for Samsung 2.2.8 on Samsung Smart TV playing <title>. PlaySessionId: 67a53a0b...
      --> no further progress, no stop, no "Removed" by end of log

--- Orphaned session: added, but no playback ever started, never removed ---
2026-07-13 16:14:33.362  SessionManager: Adding playSession PS... to session SESS...
      --> no "Playback start", no "Playback stopped", no "Removed" anywhere in the log


I also attach full log, the AppleTV user is  @User09 

embyServer (2).txt

yocker
Posted

Most likely because people just turn off their device instead of actually stopping the video when done.

steve_tv
Posted (edited)
2 hours ago, yocker said:

Most likely because people just turn off their device instead of actually stopping the video when done.

Well, the real is the annoyng message "Your account exceeded the maximum streaming limit set by your Emby Server Administrator". And it occurs when someone plays content.

I pasted the logs and my thougths just to be more clear, but the problem is the thread title, and first paragraph:

"user keeps getting "Your account exceeded the maximum streaming limit set by your Emby Server Administrator", but he only ever uses a single Apple TV"

Edited by steve_tv
yocker
Posted
29 minutes ago, steve_tv said:

Well, the real is the annoyng message "Your account exceeded the maximum streaming limit set by your Emby Server Administrator". And it occurs when someone plays content.

I pasted the logs and my thougths just to be more clear, but the problem is the thread title, and first paragraph:

"user keeps getting "Your account exceeded the maximum streaming limit set by your Emby Server Administrator", but he only ever uses a single Apple TV"

What I would do just to test is remove the limit and see if others start streaming from the same account. 

Sorry it's all I can think of that could at least indicate what the problem might be.

Posted

Hi, we'll take a look at this. Thanks for reporting.

steve_tv
Posted (edited)
7 hours ago, yocker said:

What I would do just to test is remove the limit and see if others start streaming from the same account. 

Sorry it's all I can think of that could at least indicate what the problem might be.

Yep, if I remove the limit or I raise it to two, the problem disaapears... But it has no sense. I mean, the limit is not working.

I appreciate your help!

 

5 hours ago, Luke said:

Hi, we'll take a look at this. Thanks for reporting.

Hi Luke, I was wondering about starting this thread a time ago, I tought it was my fault... but I use another server, and now I have the same problem with "1 stream limit" users.
I found other threads with same problem, but those thread are dead or fixed with an update... strange.

I found that this happens a lot with google chrome, and when changing episodes. Is there a way to raise the limit the server "detects" a stream"? I mean, if the user is limited to 1 stream; the server wait 60 (or less or more) seconds to kill the streams, so the user client has enough time to stop the previous session.

Please ask anything you need; thanks,

Edited by steve_tv
  • Thanks 1
yocker
Posted
1 hour ago, steve_tv said:

Yep, if I remove the limit or I raise it to two, the problem disaapears... But it has no sense. I mean, the limit is not working.

I appreciate your help!

What i meant was, if you remove the limit does the server dashboard show the same account have multiple streams running.
While chances are low that it shows anything it is still an easy little troubleshooting step.

steve_tv
Posted
3 minutes ago, yocker said:

What i meant was, if you remove the limit does the server dashboard show the same account have multiple streams running.
While chances are low that it shows anything it is still an easy little troubleshooting step.

As I could see, if I set the limit to 2, the problem dissapears and sometimes, shortly, there are two streams, but suddendly one dissapears.

yocker
Posted
7 minutes ago, steve_tv said:

As I could see, if I set the limit to 2, the problem dissapears and sometimes, shortly, there are two streams, but suddendly one dissapears.

Yeah, that indicates that Emby is not closing the stream fast enough for some reason.

Posted

It’s actually intended to wait for the first one to close before attempting to open the second.

Posted
6 minutes ago, Luke said:

It’s actually intended to wait for the first one to close before attempting to open the second.

Thanks — that clears it up, and re-checking my log you're right: on the Apple TV the play sessions do close before the next one opens (every "Removed" precedes the next "Adding" by ~1.7–2s, and that container never holds more than 1). So that wasn't the right case to lead with, sorry.

Re-running concurrency per session container, though, I do have two cases where a container genuinely holds 2 open play sessions:

1) Emby for Android 3.5.36, single tablet, same title — the old play session is re-added 21 ms after the new one opens, and both stay open for ~61 s:

 
14:29:33.720  Removed playSession 9e8b4d46... from session 84659c77...
14:29:33.720  Adding  playSession 25977433... to   session 84659c77...   <- new one opens
14:29:33.741  Adding  playSession 9e8b4d46... to   session 84659c77...   <- OLD one re-added, +21ms
14:30:34.783  Playback stopped reported by app Emby for Android 3.5.36
14:30:34.786  Removed playSession 9e8b4d46... from session 84659c77...   <- 2 open for ~61s

2) A play session added that never starts playback and is never removed, sitting alongside a real one:

 
16:14:33.362  Adding playSession 6c643c46... to session d2d1f2d0...   <- no "Playback start", ever
16:14:33.895  Adding playSession a422bee1... to session d2d1f2d0...   <- Emby for LG 1.0.50, real playback
   -> container now holds 2; 6c643c46 is never removed for the rest of the log

Server-wide it's 53 "Adding playSession" vs 49 "Removed" over the day.

So:

  • In (1), if the client is meant to wait for the first to close, what would cause it to re-add the previous play session after the new one has already opened?
  • In (2), if the first one never closes (app killed, network drop, or a session that never starts playing), does it keep counting against the limit? Is there a server-side timeout that reaps stale sessions, and how long is it?

Note this log doesn't actually contain a "limit exceeded" event — I'll enable debug logging and post one that captures the moment the user hits the error.

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...