Open tobiasredel opened 11 months ago
Hey @tobiasredel , i plan to include this once iv ironed out all the bugs. Jellystat has actually come a long way in terms of performance and bugs and il soon be focusing on adding new features instead of focusing entirely optimizations and bug fixes. No guaranteed timeline but definitely in the next few months
Very much looking forward to emby's support and release to github! @CyferShepard
I 100% would love to see this last thing needed to move off Plex for good.
Agree with the guys above. This is something we definitely need. <3
I used a long time embystats and I hope that I can change to jellystats with emby soon. So one more upvote in the community @CyferShepard.
Thanks in advance.
Up Vote!
Up vote!
Yeah, it would be nice to have Emby support.
+1 Don't wan't to switch to Jellyfin just to have this nice statspage (i pay for Emby premiere) and embystat is 'in hybernation'. @CyferShepard Any progress yet on Emby support?
Hey @Tuumke , Emby support will be worked on in the next update, so not the upcoming 1.1.0 but around 1.1.1 or 1.1.2. The current code base is in a good place and im ironing out the last of the bugs, a few big ones, but everything is now mostly setup to support a different source with some minor changes to fit in Emby support as iv been making changes ahead of time for Emby.
Hey @Tuumke , Emby support will be worked on in the next update, so not the upcoming 1.1.0 but around 1.1.1 or 1.1.2. The current code base is in a good place and im ironing out the last of the bugs, a few big ones, but everything is now mostly setup to support a different source with some minor changes to fit in Emby support as iv been making changes ahead of time for Emby.
Good to hear! I'll be following this for sure! Jellystats look amazing. Thanks for your quick reply and all the effort you put in <3
Thanks for working on Emby Support 👌
Up vote for Emby support!
Just commenting to express interest in this!
We're still about 2 maybe 3 updates out from getting Emby support. I'm thoroughly looking forward to this...
Looking forward to this! Using it for jf currently and it works great!
very keen to see this
I would be willing to donate to this cause either financially or through code!
How can people help?
Hey everyone, for those that are willing to help, to only place that can be worked on right now is to make an api class for emby, similar to jellyfin-api.js
. There would also be changes to other code to enable swapping between the two classes either for jellyfin or emby but il work on that later. The api class for emby would be a safe place to start for now
To get an Emby API client I can recommend using https://github.com/hey-api/openapi-ts It generates a client implementation based on the OpenAPI documentation.
Example usage: openapi-ts --input https://swagger.emby.media/openapi.json --output ./emby-client --name EmbyClient --client axios
Emby support would be greate, thanks 👍
Just adding for others following that 1.1.1 has been working well for me in Emby so far. Thanks @CyferShepard Edit: Mostly well, have just noticed that the jellyfin sync hasn't been working and fails with a blank terminal output but everything else seems to work fine.
Just adding for others following that 1.1.1 has been working well for me in Emby so far. Thanks @CyferShepard Edit: Mostly well, have just noticed that the jellyfin sync hasn't been working and fails with a blank terminal output but everything else seems to work fine.
I tried as well. The issue you I'm seeing is the users and library pages never load. My guess is its looking for hardcoded Jellyfin database names and Emby doesn't have them named the same.
Just adding for others following that 1.1.1 has been working well for me in Emby so far. Thanks @CyferShepard Edit: Mostly well, have just noticed that the jellyfin sync hasn't been working and fails with a blank terminal output but everything else seems to work fine.
I tried as well. The issue you I'm seeing is the users and library pages never load. My guess is its looking for hardcoded Jellyfin database names and Emby doesn't have them named the same.
I'm not having that issue, my users and library page load fine. The only issue I have is the full jellyfin sync task fails. My library and user pages work fine so that may be a seperate issue for you.
My mistake. Switched to the unstable branch and now users and libraries display. Nice work @CyferShepard !
Hey everyone, glad emby works for the majority of features. Im aware of the issue regarding user/ library syncs, this is why i labeled them as WIP
I tried as well with my Emby server and everything works super smoothly.
Just deployed this to check out, heres some initial feedback from some testing I have done
Great start, been looking forward to this. Let me know if there is any additional info you need for the above issues
I found everything working fine until I came across the playback reporting import job. Emby has that too but it does not work. Looking forward to that to being back all my data.
Installed in a Docker container without any issue, and on first impression, it looks very good - the closest thing to PlexPy/Tataull I've seen for emby.! I need to play with it once it's finished scanning, but thanks for all your efforts.
I've been running Jellystat against my Emby library for about a week now (v1.1.1) and had to clear my database and start over. It was tracking activity, which I could see by the statistics on the main page and on the statistics page but activity stopped loading in the last day or two. This is a new system, and I have been doing a lot of reconfiguring, so I may have caused a corrupted database during a couple of hard power losses. I'll keep an eye on it during the next week.
I'll echo another user and say I'm able to browse my media collection within Jellystat but unable to see episodes once clicking into a season.
Also, not sure if a bug or by design, but the recent items on the homepage seems to be in a random order. Clicking into the individual libraries shows the media in chronological order of last added.
Finally, I'm sure there may be roadmap that I have not seen, but I would be interested in seeing some add additional statistics.
I would also at some point like to see an option for emby theming, but that is a very low priority ask.
With all that said, fantastic job and I can't wait to see how the project evolves and matures.
Just reporting an issue in the embyserver.txt log file that is caused by jellystat - seems jellystat is looking for a file that does not exist on the emby server : Note - my jellystat server ip here is 192.168.194 - and it is causing this error in the logs 👍
2024-07-28 17:19:26.604 Info Server: http/1.1 Response 404 to 192.168.1.194. Time: 24ms. GET http://192.168.1.201:8096/web/assets/img/devices/android.svg
This thing does not exist in emby - so throws this -
2024-07-28 17:19:26.603 Error Server: Error processing request
Error Report
Version: 4.8.8.0
Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
Operating system: Linux version 6.1.74-Unraid (root@Develop-612) (gcc (GCC) 12.2.0, GNU ld version 2.40-slack151) #1 SMP PREEMPT_DYNAMIC Fri Feb 2 11:06:32 PST 2024
Framework: .NET 6.0.25
OS/Process: x64/x64
Runtime: system/System.Private.CoreLib.dll
Processor count: 12
Data path: /config
Application path: /system
System.IO.DirectoryNotFoundException: System.IO.DirectoryNotFoundException: Could not find a part of the path '/system/dashboard-ui/assets/img/devices/android.svg'.
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func2 errorRewriter) at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func
2 errorRewriter)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
at System.IO.FileStream..ctor(String path, FileStreamOptions options)
at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions, Int64 preAllocationSize)
at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions)
at Emby.Server.Implementations.IO.IOManager.GetResponse(HttpRequestOptions options, MediaProtocol protocol)
at Emby.Server.Implementations.IO.IOManager.GetResponse(HttpRequestOptions options)
at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken)
at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable1 reportedTotalContentLength, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options) at Emby.Web.Api.WebAppService.Get(GetDashboardResource request) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory
1 urlString, ReadOnlyMemory1 localPath, CancellationToken cancellationToken) Source: System.Private.CoreLib TargetSite: Void ThrowExceptionForIoErrno(ErrorInfo, System.String, Boolean, System.Func
2[Interop+ErrorInfo,Interop+ErrorInfo])
2024-07-28 17:19:26.604 Info Server: http/1.1 Response 404 to 192.168.1.194. Time: 24ms. GET http://192.168.1.201:8096/web/assets/img/devices/android.svg
2024-07-28 17:19:26.825 Info Server: http/1.1 POST http://emby.mydomain.com/emby/Sessions/Playing/Progress. UserAgent: Dalvik/2.1.0 (Linux; U; Android 12; Chromecast Build/STTE.240315.002)
2024-07-28 17:19:26.827 Info SessionManager: Adding playSession 0e4156c9516e4ebdaa9575b0fd134fcf to session 4a6ed5e710036f2069d391ca1e7ce638
2024-07-28 17:19:26.891 Info Server: http/1.1 Response 204 to 2001:8003:651e:3e00:9544:25d9:d017:30af. Time: 66ms. POST http://emby.mydomain.com/emby/Sessions/Playing/Progress
2024-07-28 17:19:27.571 Error Server: Error processing request
Error Report
Version: 4.8.8.0
Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
Operating system: Linux version 6.1.74-Unraid (root@Develop-612) (gcc (GCC) 12.2.0, GNU ld version 2.40-slack151) #1 SMP PREEMPT_DYNAMIC Fri Feb 2 11:06:32 PST 2024
Framework: .NET 6.0.25
OS/Process: x64/x64
Runtime: system/System.Private.CoreLib.dll
Processor count: 12
Data path: /config
Application path: /system
System.IO.DirectoryNotFoundException: System.IO.DirectoryNotFoundException: Could not find a part of the path '/system/dashboard-ui/assets/img/devices/android.svg'.
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func2 errorRewriter) at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func
2 errorRewriter)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
at System.IO.FileStream..ctor(String path, FileStreamOptions options)
at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions, Int64 preAllocationSize)
at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions)
at Emby.Server.Implementations.IO.IOManager.GetResponse(HttpRequestOptions options, MediaProtocol protocol)
at Emby.Server.Implementations.IO.IOManager.GetResponse(HttpRequestOptions options)
at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken)
at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable1 reportedTotalContentLength, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options) at Emby.Web.Api.WebAppService.Get(GetDashboardResource request) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory
1 urlString, ReadOnlyMemory1 localPath, CancellationToken cancellationToken) Source: System.Private.CoreLib TargetSite: Void ThrowExceptionForIoErrno(ErrorInfo, System.String, Boolean, System.Func
2[Interop+ErrorInfo,Interop+ErrorInfo])
2024-07-28 17:19:27.571 Info Server: http/1.1 Response 404 to 192.168.1.194. Time: 4ms. GET http://192.168.1.201:8096/web/assets/img/devices/android.svg
The activity page still does not show any activity for me. It just sits at a spinning circle and never loads.
The activity page still does not show any activity for me. It just sits at a spinning circle and never loads.
Activity page working for me on 1.1.0 linked to emby 4.8.8.0
Same here !! On 1.1.0 and 4.8.8.0
@gthrift Are you on Emby Beta ?
Yes, I was on the unstable release, 1.1.1. Rolled back to 1.1.0 and activity shows up.
On Thu, Aug 1, 2024 at 11:36 AM jaycedk @.***> wrote:
Same here !! On 1.1.0 and 4.8.8.0
@gthrift https://github.com/gthrift Are you on Beta ?
— Reply to this email directly, view it on GitHub https://github.com/CyferShepard/Jellystat/issues/133#issuecomment-2263374545, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6R6HMQFU4DDQIBCJEKFLZPJIXVAVCNFSM6AAAAABAMFSDGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRTGM3TINJUGU . You are receiving this because you were mentioned.Message ID: @.***>
Its working fine with Emby 4.8.8.0 and Jellystat 1.1.1 aka Unstable So what version of emby are you running ? 4.9 ? or 4.8 ?
Come to think of it. Do you have mixed libraries ? Mine would not work.
Running Emby 4.8.8.0. I have a movies and a tv library. Both libraries are made up of two directories each (movies-4k and tv and tv-kids).
On Fri, Aug 2, 2024 at 10:32 AM jaycedk @.***> wrote:
Come to think of it. Do you have mixed libraries ? Mine would not work.
— Reply to this email directly, view it on GitHub https://github.com/CyferShepard/Jellystat/issues/133#issuecomment-2265532903, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABB6R6C3KPD54WO5JWBM67TZPOKBLAVCNFSM6AAAAABAMFSDGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRVGUZTEOJQGM . You are receiving this because you were mentioned.Message ID: @.***>
I'm running Emby Server on Docker (version 4.8.7.0)
cyfershepard/jellystat:latest
- this image showed the streaming on the home page, but not much else worked at all
cyfershepard/jellystat:unstable
- this image worked for me 100%
Hi @mdeeter , Emby support is not in the latest build, is currently in unstable as WIP and will only make its way to stable on the next release
Hi @mdeeter , Emby support is not in the latest build, is currently in unstable as WIP and will only make its way to stable on the next release
Yup, I understand... I was just confirming what jaycedk found. And just wanted to share the image names in case any noob couldn't figure it out. It's so cool to have this avail for Emby.
Only issue I'm having with Emby is the Playback Reporting Import feature. Just runs and ends with nothing being imported.
Hi,
would it be possible to also support Emby?