All Activity
- Past hour
-
T.sasisuriyaphum joined the community
-
johnath joined the community
-
mamali7666 joined the community
-
xboy4367 joined the community
-
Assombração. joined the community
-
JoseCP joined the community
-
Desiato started following Sporadic crashes of Emby for Apple TV 2.0.7
-
Hi, I've been using Emby on a Apple TV 4K (2nd generation) for several months. Sporadically, I experience crashes when starting a stream whether it be from stored content or Live TV content. I cannot determine any pattern to when the app crash will happen - only that it happens at the start of the streaming session. The Emby app completely closes and then I can go in and start the same movie or live TV channel again and it will work fine. I'm currently running the latest Apple TV client and the latest server beta, but it also occurs on the latest stable server release. I'm happy to help get to the bottom of this. Below is the server log for a live TV stream as the client crashed. My guess is that it isn't very helpful other than indicating that the server lost communication with the client. Very much appreciate any help. 2026-08-09 11:05:24.638 Info PlaystateService-0HNNLNV55GBC2:00000006: http/1.1 POST http://host1:8096/emby/Sessions/Playing?X-Emby-Client=Emby for Apple TV&X-Emby-Device-Name=Apple TV&X-Emby-Device-Id=0B2265F9-14D4-4C09-ACD4-7E56068C0F71&X-Emby-Client-Version=2.0.7 (1)&X-Emby-Token=x_secret8_x&reqformat=json. Source Ip: host5, UserAgent: Emby/1 CFNetwork/3860.700.1 Darwin/25.6.0 2026-08-09 11:05:24.640 Info SessionManager: Playback start reported by app Emby for Apple TV 2.0.7 (1) on Apple TV playing ESPNU. Position: 0 ms. PlaySessionId: df77545def4943ef9a4926a21c7eb2d0. IsPaused: False 2026-08-09 11:05:24.641 Info PlaystateService-0HNNLNV55GBC2:00000006: http/1.1 Response 204 to host5. Time: 3ms. POST http://host1:8096/emby/Sessions/Playing?X-Emby-Client=Emby for Apple TV&X-Emby-Device-Name=Apple TV&X-Emby-Device-Id=0B2265F9-14D4-4C09-ACD4-7E56068C0F71&X-Emby-Client-Version=2.0.7 (1)&X-Emby-Token=x_secret8_x&reqformat=json. 2026-08-09 11:05:24.645 Info PlaystateService-0HNNLNV55GBCB:00000001: http/1.1 POST http://host1:8096/emby/Sessions/Playing/Progress?X-Emby-Client=Emby for Apple TV&X-Emby-Device-Name=Apple TV&X-Emby-Device-Id=0B2265F9-14D4-4C09-ACD4-7E56068C0F71&X-Emby-Client-Version=2.0.7 (1)&X-Emby-Token=x_secret8_x&reqformat=json. Source Ip: host5, UserAgent: Emby/1 CFNetwork/3860.700.1 Darwin/25.6.0 2026-08-09 11:05:24.646 Info PlaystateService-0HNNLNV55GBCB:00000001: http/1.1 Response 204 to host5. Time: 2ms. POST http://host1:8096/emby/Sessions/Playing/Progress?X-Emby-Client=Emby for Apple TV&X-Emby-Device-Name=Apple TV&X-Emby-Device-Id=0B2265F9-14D4-4C09-ACD4-7E56068C0F71&X-Emby-Client-Version=2.0.7 (1)&X-Emby-Token=x_secret8_x&reqformat=json. 2026-08-09 11:05:24.729 Info VideoService-0HNNLNV55GBC9:00000001: http/1.1 Response completed after client disconnected to host5. Time: 2887ms. GET http://host1:8096/emby/videos/80653399/original.mpegts?DeviceId=0B2265F9-14D4-4C09-ACD4-7E56068C0F71&MediaSourceId=xtream_live_1826_2c8d8ff1d88548899d8d2a234471098f&PlaySessionId=df77545def4943ef9a4926a21c7eb2d0&api_key=x_secret8_x&LiveStreamId=06044cf0e6f93cdae5f285c9ecfaaeb4_01413a525b3a9622ce6fdf19f7dde354_xtream_live_1826_2c8d8ff1d88548899d8d2a234471098f. Headers: Connection=close, Content-Type=video/mp2t, Date=Sun, 09 Aug 2026 15:05:23 GMT, Server=UPnP/1.0 DLNADOC/1.50, Transfer-Encoding=chunked, Cross-Origin-Resource-Policy=cross-origin, Private-Network-Access-Name=K Media, Private-Network-Access-Id=ae879ea1032e468a8c897afa1c2d5ae6 2026-08-09 11:06:24.645 Info SessionManager: PlaySession df77545def4943ef9a4926a21c7eb2d0 has gone idle while playing 2026-08-09 11:06:24.645 Info SessionManager: Playback stopped reported by app Emby for Apple TV 2.0.7 (1) on Apple TV playing ESPNU. Position: 58999 ms. PlaySessionId: df77545def4943ef9a4926a21c7eb2d0. IsPaused: False 2026-08-09 11:06:24.646 Info MediaSourceManager: Closing live stream 06044cf0e6f93cdae5f285c9ecfaaeb4_01413a525b3a9622ce6fdf19f7dde354_xtream_live_1826_2c8d8ff1d88548899d8d2a234471098f 2026-08-09 11:06:24.646 Info MediaSourceManager: Live stream 06044cf0e6f93cdae5f285c9ecfaaeb4_01413a525b3a9622ce6fdf19f7dde354_xtream_live_1826_2c8d8ff1d88548899d8d2a234471098f closed successfully 2026-08-09 11:06:24.646 Info SessionManager: Removed playSession df77545def4943ef9a4926a21c7eb2d0 from session f5a2397d7f582e0d2b96d2d4f96fcfc9
-
Ina65 joined the community
-
Scandaleuse joined the community
-
Superego.y joined the community
-
unet73685 joined the community
-
softworkz started following GenericUI command routing limitation (Emby 4.10.0.22) (for user / non admin pages)
-
GenericUI command routing limitation (Emby 4.10.0.22) (for user / non admin pages)
softworkz replied to ginjaninja's topic in Developer API
Yes - when GenericUI was created there didn't even exist any possibility for a plugin to provide "per-user settings pages". Everything is designed in a way to make operations and UI single-instance, so that long-running operations - like a TV tuner channel scan - do not get lost when you accidentally close the dialog - or the browser tab. Or when another admin would log in, they are supposed to see those operations, so they won't get to perform any conflicting operations. To serve user settings, a number of changes are required. The AI suggestion is not suitable - each user's view needs to be backed by a separate server-side instance. - Today
-
EmbyVision OCR GPU Edition, CPU Edition Credits Detector new plugin: Beta
ebr replied to EncryptedCity's topic in Plugins
@EncryptedCitymaking sure you saw this because it is very important. You clearly copied Yocker's plugin to start with but I'm not really sure why you took such offense when that was asked about because he said from the get-go that was fine. I don't think anyone was intending to target you. Carry on... -
The left bar on the dashboard page has been blank
visproduction replied to kira yamato's topic in Apple iOS / macOS
Also happens sometimes on latest beta. -
kira yamato started following The left bar on the dashboard page has been blank
-
-
GenericUI command routing limitation (Emby 4.10.0.22) (for user / non admin pages)
ginjaninja posted a topic in Developer API
I noticed separate users were seeing the same page instance on my user facing plugin even without using UIViewInfoChanged. Does any one have an example repository with good patterns for user pages with generic ui please? Hopefully not ai slop but claudes suggestion was below, basically suggested the need of "abandoning the GenericEdit/generic-UI-page framework for those [userfacing] pages" Summary: GenericUI command routing limitation (Emby 4.10.0.22) Component: Emby.Web.GenericUI (server-side C#) + modules/genericui/genericui.js (dashboard client) The limitation: Two separate but compounding issues make it impossible for a plugin using IPluginUIView/IPluginPageView (the GenericEdit-driven page framework) to reliably identify the calling user on a per-command basis. Server-side: no per-command user identity reaches the view. IPluginUIView.RunCommand(string itemId, string commandId, string data) — the interface every plugin page implements — has no user parameter at all. The host class that dispatches to it, PageControllerHostBase.RunCommand(requestItemId, requestCommandId, requestData, UserDto user), does receive the real authenticated caller from the API layer, but never assigns it to the view's User property before invoking RunCommand. IPluginUIView.User is only ever refreshed on GetUIView (initial page load / tab switch) — never on a postback. So inside RunCommand, a plugin has no reliable way to know who actually issued the command. Client-side: no way to route around it. genericui.js's runUiCommand() hardcodes every command from every plugin's generic UI page to a single fixed endpoint, POST UI/Command, regardless of which button or command fired. There is no per-button/per-command hook, override, or extension point for a plugin to direct specific actions to its own authenticated API endpoint instead. The command dispatch is entirely generic and not plugin-customizable at the transport level. Combined effect: Because UI/Command is a single shared endpoint whose server-side handler (PageControllerHostBase) also has one controller instance shared across all users of the server (keyed only by pageId, not by user/session — UIPagesManager.controllers is ConcurrentDictionary<string, PageControllerHostBase>), a plugin author has no supported way to build a multi-user-facing page (as opposed to a single shared admin config page) where each command execution can be confidently attributed to the correct calling user. The only available workaround is having the view privately track identity through data it stamps and asks the client to echo back on the next request — which works for legitimate use, but isn't something the SDK provides or guarantees, and could be spoofed by a malicious client since it isn't real authentication. Suggested fix for the SDK maintainers: either (a) have PageControllerHostBase.RunCommand assign CurrentUIView.User = user before calling RunCommand, using the already-available authenticated caller, or (b) add a UserDto parameter to IPluginUIView.RunCommand itself so plugin authors don't have to reconstruct identity by hand. https://github.com/ginjaninja1/recommendme Claude suggested a hot fix which seems to work outlined below applied to recommendme ## Emby generic UI pages are singleton, server-wide, per pageId — not per-user/session `UIPagesManager.controllers` is `ConcurrentDictionary<string, PageControllerHostBase>`, keyed ONLY by pageId. One instance of your `IPluginUIView` serves every user on the server. Anything stored directly on that view's `ContentData`/fields (search results, form state, etc.) is visible/overwritten by every other user — confirmed root cause of "user sees another user's search results" bugs. Worse: `IPluginUIView.User` (and `IUIView.User`) is ONLY refreshed by the framework on `GetUIView` (page load / tab switch) — `PageControllerHostBase.RunCommand` receives the real authenticated `UserDto` from Emby's API layer but never assigns it to `CurrentUIView.User` before invoking `RunCommand`. So `this.User` inside a page's `RunCommand` is not "who clicked this" — it's "whoever most recently loaded this page anywhere on the server." Do not use `this.User` for identity/authorization inside `RunCommand`. **Working fix pattern** (no adversarial/security requirement — trusted single-tenant use only): - Add an `OwnerUserId` field to the ContentData/view-model class, `[Browsable(false)]`. - Stamp it with `value.Id` in the view's `User` property setter (this only fires on `GetUIView`, which is trustworthy). - Because `PageControllerHostBase.RunCommand` deserializes the client's posted `data` string fresh on every call (this string is per-request, not shared), and the client always round-trips the full ContentData object back on postback, `OwnerUserId` survives the trip. - In `RunCommand`, deserialize `data` FIRST, pull `OwnerUserId` from it, and resolve the calling user (`IUserManager.GetUserById`) from that — never from `this.User`. - Keep per-user state in a `ConcurrentDictionary<string, TViewModel>` keyed by that same id, looked up in both the `User` setter and `RunCommand`. - `UserDto.Id` is a `string` (not Guid/long) — matches the `GetUserById(string)` overload. - No eviction is built into this pattern — the dictionary grows for the process lifetime. Fine for low user counts; needs `ISessionManager.SessionEnded`-driven cleanup at scale. My other plugin doesnt have the suggested fix, i mention it in case an example of a default case is needed. (to help explain what i might be dsoing wrong please) I asked the ai to consume the sdk and use the patterns in sdk demo to build the pages. Maybe there is a proper approach to user pages my ai isnt seeing? https://github.com/ginjaninja1/ManageComingSoon -
Hi. I cannot reproduce this in the Android TV app. Used a mixed content library with 109 top level items and folder view. Came right back to where I was. Also unable to reproduce in the web app so may need more specifics like an app log from when this happens.
-
Hi. Not sure what new function you are looking for but the Android TV app has always scoped the search to the library you are in.
-
OK
-
Bit odd that Emby is allowing mp4+eac3 (& it plays correctly) but forces audio transcode with mkv+eac3! Let me know if you need any further logs or testing. I would be very happy to help get this fixed. I’m attaching a screenshot of what the iPhone is reporting as supported via Dolby’s test site. iOS is correctly reporting E-AC-3 support via the HTML canPlayType() API Thanks again
-
Plugin: EmbyCredits, detect end credits and add auto skip.
yocker replied to yocker's topic in Plugins
Small update (v2.9.6.7) Added ability to use locally installed Tesseract instead of being Docker only. Tesseract can be found at: https://github.com/tesseract-ocr/tesseract -
Log 4.10.0.23 embyserver.txt
-
Hello, I have installed the latest version of the plugin on Emby 4.10.0.23. However, after adding two movies, I noticed that one appears under “Recently Added”, while the other appears under “New Movies”. Could you please explain why the two movies are displayed in different categories even though they were added at the same time? Thank you in advance for your help.
-
Thanks for reply! Okay... and I just wanted to know if the problem is on my end. It also seems that the plugin only finds the files where the chapters are integrated. With files where Emby itself inserts the chapters – for example, every 5 minutes – it doesn't find any intros, etc.
-
EmbyVision OCR GPU Edition, CPU Edition Credits Detector new plugin: Beta
EncryptedCity replied to EncryptedCity's topic in Plugins
EmbyVision Credits – GPU Edition Resource Usage I wanted to post a quick look at what the GPU edition of EmbyVision Credits looks like while it is actually running. The video shows the Docker container logs while PaddleOCR is processing the video using CUDA. You can see the OCR service running and processing the frames instead of having to guess what it is doing in the background. For this test I was using an RTX 4060 8GB for the OCR container. The GPU usage was pretty reasonable. The OCR container was using roughly 400–600 MB of VRAM during the run, with GPU utilization going up and down depending on what it was processing. GPU temperature was around the low-to-mid 50°C range. The important part for me is that the OCR service isn't sitting there eating several GB of VRAM just to run. It leaves plenty of the GPU available for other things. The setup was: RTX 4060 8GB Ryzen 9 5950X 64GB RAM PaddleOCR CUDA GPU acceleration EmbyVision OCR running in Docker Emby running separately The OCR container is also separate from the Emby plugin itself. EmbyVision Credits sends the video/frame processing work to the OCR service, and the GPU container handles the actual OCR processing. This is the GPU edition I'm currently working on. I'm also working on making the GPU handling better for people who only have one NVIDIA GPU, since that's going to be a much more common setup than having a dedicated GPU sitting around just for OCR. I've included the video so you can see the actual logs and resource usage rather than just taking my word for it. Under the hood, EmbyVision uses several powerful detection engines working together rather than relying on a single detection method. Each engine has its own job, allowing the plugin to combine the results and make much more accurate credit detection decisions. GPU Edition users should have Emby Premiere if they want to use Emby's hardware-accelerated video processing. The EmbyVision OCR engine itself runs separately through the CUDA-enabled OCR service. EmbyVision Credits – OCR Edition EncryptedCity GitHub: https://github.com/encryptedcity/EmbyVision-Credits Latest released version 1.0.0.1 Video - GPU - logs.mp4 Video - EmbyVision OCR Credits V1.0.0.1.mp4 -
MediaIntelNUC started following Wrexham FC on IPTV
-
Howdy folks! I have become a Wrexham FC fan, much from the docuseries and I have been trying to find out where/wich channel in Europe/Sweden its available on IPTV, i have been mailing their HQ in Britain but no answers from them at all and im not that knowledgable when it comes to IP-TV in general and sportachannels in perticular. Sky Sports i read somewhere but havent been able to confirm. Any help would be much appreciated. N/
-
Thanks, found it, but found nothing about changes in the search feature; did I miss something?
-
Well, emby app just stoped working on my philips titan os tv. When i click on emby icon only emby logo is shown and nothing happens... and there is no cleare chace or uninstall option on app menu..
-
Plugin: Ginjaninja Tools - List Protector - [Auto] Repair your Playlist|Collection memberships
ginjaninja replied to ginjaninja's topic in Plugins
0.0.0.6 Bad bug fix, Emby changes ListItemEntryIds for every member when 1 member is added to the playlist. Plugin now handles.- 2 replies
-
- 1
-
-
- playlist
- collection
-
(and 3 more)
Tagged with:
-
/data/userplaylists and then I created a directory same name as the playlist and then the m3u modified in it:
-
MacGyver27 started following Lost scroll position - EVERY CLIENT
-
Hey, Since the beginning of ages I remember Emby clients have difficulties remembering the scroll position when browsing general videos/pics. Imagine you have 1000 folders you are browsing, you enter some, then you go back and your scroll position is lost and you are back at the top.. annoying. How to reproduce on any client - library with general videos: enter folder with many subfolders - e.g. 100 at least navigate to some folder and play the video then stop the video and go to parent folder - scroll is 100% lost! - you go back to the top or in the parent folder scroll to the middle and delete some folder - scroll is 100% lost! - you go back to the top This does not happen with Jellyfin or Plex. Only with Emby on Android phone, Android TV, Web browser.. Please make it finally fixed across all clients. If you wanna delete most of the videos it is very obstructing to always be scrolled to the top. Thanks!
-
Plugin Repository: Automated Emby Template plugin repository on Github
ginjaninja replied to ginjaninja's topic in Plugins
added a guid generation workflow event for plugin.cs -
@Luke@NeminemThanks so much for pointing me in the right direction. I followed the instructions and deleted "library.db-shm" and "library.db-wal". Fingers crossed that fixed it!
-
Air Date Fixer — Corrects upcoming dates for your timezone outside the US
Blueskies278 replied to Blueskies278's topic in Plugins
UPDATE: Tested on Emby 4.9.5.0 and 4.10.0.23 (beta channel), in Docker, on Linux. It survived that version jump with settings intact and needed no changes. Other versions and platforms are untested — which is rather the point of a beta, but please mention your setup when reporting anything Emby performance note (separate issue) /Shows/Upcoming intermittently takes ~120s instead of ~0.1s. Investigated at length 25–26 July: not caused by plugins, TheTVDB, host resources, or Emby version (4.10.0.19 vs 4.10.0.20 — GetUpcomingEpisodes byte-identical). Emby's own log shows ~8,864 sequential TMDB HttpClient calls in a 6-minute window, each ~100ms apart, all "served from cache" — enough serialized latency to explain the stall. Root cause unconfirmed. Still present on 4.10.0.23 — reported to Emby (7 Aug 2026) Confirmed unchanged, and this time cleanly isolated: a single Emby container, request made directly to Emby on 8098with the plugin entirely out of the path, same ~120s failure. Two failures also seen through the listener at 121915ms and 120638ms. The 4.10.0.23 changelog contains nothing addressing it (search performance and a SQLite bump are the only performance-adjacent entries). Reported to the Emby team; awaiting a fix. This isolation is what the July investigation lacked — specific version, single instance, plugin excluded, reproducible timings. PDF information update Trakt-Air-Dates-Beta-Tester-Guide.pdf -
Task Error: Calculate Statistics for TV Shows
Painkiller88 replied to Painkiller88's topic in Plugins
was just a typing, it is 4.9.5.0, so there is no update
