erengy / taiga

A lightweight anime tracker for Windows
https://taiga.moe
GNU General Public License v3.0
2.04k stars 219 forks source link

Emby Support? #268

Open DrRandomacts opened 8 years ago

DrRandomacts commented 8 years ago

With the nature of emby being open source I imagine it at least should be 'possible' but obviously I don't know how long it would take.

I did notice that there is a trakt.tv plugin that works wonderfully.

I suppose a shortcut could be to have tiaga pull from trakt.tv and that would actually work pretty well.

Although a native plugin or something would be amazing.

https://emby.media/ https://trakt.tv

Diablofan commented 8 years ago

Why limit to Emby? We could extend support to Plex, Kodi, and others. All of them are self hosted media streaming solutions, which I would think is more okay than unofficial streaming services because you have to have the media yourself (don't know how you'll get it, I'll assume legally) so you'd be limited to your collection.

Now, for implementing this, we probably could go through the standard Web Browser recognition if you're streaming it to your browser, detecting on other devices (tablets, phones, tvs, consoles) is out of scope for Taiga. Plex for instance uses the nomenclature of {SHOW TITLE} - {S#} * {E#}, eg: "And you thought there is never a girl online? - S1 * E7". That should be enough information to allow Taiga to identify what we're watching.

We also have to make sure that you personally control the server. There isn't really a good way to determine that. For local network connections its simple, check if the remote system (grab hostname from URL) is on the local network by resolving its hostname ot an IP and check if the IP is in the same subnet. Simple enough right?

The problem escalates when the server we're watching is now not on your local network, eg streaming anime from home to where you're at. The problem then becomes how can we be sure it /is/ your server. To taiga initially it looks like a generic streaming site, even if it is your server. One way would be to add a config option saying this particular remote site is okay, but that is exploitable to allow for (indirect) support for KissAnime and other actual streaming sites, which is something that should be avoided for this kind of support. One way I can think of to check it is to query the server and check the reply. For instance, Plex when you go to http://server/web will bring up the web ui, and going to http://server/ will bring up a bit of XML. Then we could compare it to a stored plex email address and see if it matches, though this then requires having a plex account which I think should be avoided as well. Remote server support might not happen because of this problem with no real clear way to cleanly implement it without any sort of real hassle on us, especially since each server software does things differently.

Basically it comes to, how can we teach Taiga that Self Hosted Servers are okay, should we teach it to look at remote sites, how do we teach it to remote sites and check if its okay? Ultimately @erengy is the only one that can give the okay on what we can teach Taiga.

If we do get the okay, even if it is just local network, I'd be happy to add initial support for Plex, I think I could do Emby Support as well (my server did have emby installed at one point, I can just readd it as a test for Taiga).

Personally I would be happy even with local media server support, since its now what I primarily use to watch my anime, my browser through my server, as I can't use my server out of my home network because of my blasted slow att internet connection.

Edit: I'm an idiot and forgot about Plex and Kodi being supported already. I see no reason to not add it with those being supported already. Lemme check what needs changed and I'll get cracking on it, shouldn't be too much.

Akamaru commented 8 years ago

Taiga supports Plex and Kodi Kodi plex

Diablofan commented 8 years ago

... God damn it I feel stupid now for forgetting about Plex and Kodi support being there. I haven't used Taiga in ages, and even when I did I hadn't touched the Streaming section since I had it all on my system anyway.

Diablofan commented 8 years ago

Looks like Adding Emby Support shouldn't be too difficult, add a provider, do a check similar to Plex (eg, localhost or ip) and then sanitize the title, and finally add a setting for Emby. Most of the changes should be self contained to media_stream.cpp, settings.cpp and settings.h

After that add some test data to Emby, try watching something and see if taiga picks up on it.

Diablofan commented 8 years ago

Looking at Emby with some test data, it appears that support might have to wait until they modify the webui to include the series name in the page title as Taiga requires it to be able to identify the show. I'll see what I can find in Emby's Web UI code and try to patch it and submit a pull request for it.

Might take a while since I have no idea how to navigate their source code base for the webui...

Edit: After taking some more samples of what emby supplies for the page title, it widely varies. I got formats like: "E{##} - {EPISODE TITLE}" or "{SERIES TITLE}" or Extra data included in the episode file name like "720p h.264." This will have to be resolved by Emby's side first before I can finish adding support for Emby. I've got the basics added, but need to finish the url and episode title cleaning bits.

The url thing will be done tomorrow, but after that this will be put on hold until I see an improvement on it. I'll post a new update tomorrow, including a issue link to the emby issue I'll be making.

DrRandomacts commented 8 years ago

Sorry for not being able to reply for awhile...

While the web UI / kodi support is a good way to do it... I was hoping for the ability to use Emby Theater with taiga and I don't think that is supported in what you showed. @Akamaru

The way I am using Emby I use madvr so I think that you would be able to pull it from that... but I could be wrong.

Diablofan commented 8 years ago

I could see about adding support for that as well. It might still require some work on embys part as well. On May 31, 2016 7:02 PM, DrRandomacts notifications@github.com wrote:Sorry for not being able to reply for awhile...

While the web UI / kodi support is a good way to do it... I was hoping for the ability to use Emby Theater with taiga and I don't think that is supported in what you showed. @Akamaru

The way I am using Emby I use madvr so I think that you would be able to pull it from that... but I could be wrong.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.

DrRandomacts commented 8 years ago

Diablofan I could see about adding support for that as well. It might still require some work on embys part as well.

If anyone wants to put the effort in a good way would be through a plugin on emby. With trak tv doing it I imagine that it should work.

The source for emby and emby theater is all open source (as far as I understand it) as well

https://github.com/MediaBrowser/Emby

https://github.com/MediaBrowser/Emby.Theater.Windows

Diablofan commented 8 years ago

I'll get to this tomorrow sometime. Hopefully. I have a branch for this in my copy of the repo tracking this.

DrRandomacts commented 8 years ago

I wanted to avoid doing this but I just was checking in to see anyone ended up attempting this issue.

Diablofan commented 8 years ago

As mentioned, I have a branch for this feature, but again does require work on embys part and I can't figure out where to begin in their code base. I'll make an issue there and refrence this one when i get the chance.

The problem, which I think I mentioned here already, is that titles for shows aren't consistent enough for taiga. Specifically emby will use whatever for the title from what I've seen. Either episode name, or series name, or s00e00 like titles, but never enough information that taiga can use, nor is it consistent enough. Titles in emby have to be made consistent so that taiga can reliably id shows, even a simple TITLE - EP in the page title is enough.

Now a way one could go about this themselves by changing the title representation for EVERY SINGLE episode that they have in emby, which is doable but tedious, and it would work then but manual intervention is something I don't think we want to put our users through, especially if there is a solution that could be provided upstream.

I'll try to find the proper places for the bug reports and make them soon. On Jun 27, 2016 7:15 PM, "DrRandomacts" notifications@github.com wrote:

I wanted to avoid doing this but I just was checking in to see anyone ended up attempting this issue.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/erengy/taiga/issues/268#issuecomment-228903909, or mute the thread https://github.com/notifications/unsubscribe/ABu13IA4qtrDO6lGWOea29WI6NdtNxlQks5qQFlbgaJpZM4InMzq .

yocally commented 5 years ago

If Emby support is ever added please also add Jellyfin support, it's a fork so it should be pretty straight forward.

InFerNoBeasTz commented 2 years ago

do add jellyfin please.

ZeroOmar commented 3 months ago

2024 here with the release of version 1.4.1 support for jellyfin has been added. jellyfin is originally a fork of emby so it might be relatively easy to continue from there to add emby support. please.