Easily Sync Multiple XBMC Machines to 1 Library

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
topfs2 Offline
Team-XBMC Developer
Posts: 3,825
Joined: Dec 2007
Reputation: 8
Post: #21
migueld Wrote:Plex is doing basically that, each Plex client is also a server, except for the mobile clients. That's the way to go it seems. Anyone asking for a client/server would also want what Plex is doing. So if I understand topfs2 correctly, this would be desirable for the future of XBMC.

I agree with what others are saying, that multiple clients are now a higher occurrence than before, and everyday more and more people will want to maintain just 1 library and share it. Hopefully more devs will find this a need in the near future... Maybe we should gift them some ipads? Wink

Yes my proposal share quite a bit with what plex is doing, they have the right idea but I do not agree with their implementation.

I opt for something which uses common standards (uPnP) so that it can be used to power non-xbmc products and xbmc can be powered with non-xbmc products similarly. Why is this important? Because we want to be open and having it like this opens up possibilities with using already existing uPnP backends found in NAS etc and it also opens up so that any other developer can come along and make a new server if they wish. I also want it to be open in the license sense so that it can be made working on any platform and be future proof for whatever reason.

EDIT: And yes, the whole MySQL is super simple talk is just silly, its far from as simple as it can be. Heck even veterans on this forum have a hard time getting the thumb problems correct. We do NOT want to be that complex for a task which is going to be oh so common in the future (my opinion).

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
find quote
pecinko Offline
Member+
Posts: 3,027
Joined: Dec 2008
Reputation: 27
Location: Prague / Belgrade
Post: #22
topfs2 Wrote:I opt for something which uses common standards (uPnP) so that it can be used to power non-xbmc products and xbmc can be powered with non-xbmc products similarly. Why is this important? Because we want to be open and having it like this opens up possibilities with using already existing uPnP backends found in NAS etc and it also opens up so that any other developer can come along and make a new server if they wish. I also want it to be open in the license sense so that it can be made working on any platform and be future proof for whatever reason.

Tobias are we still on topic here? :-) This sounds to me as saving the world. It would all be nice, but it raises bar so high so I'm sure we would have to wait quite a bit. Can something simpler be done in meantime?

Question was about easy alternative way to keep libraries in sync.

-We have export and import library feature.
-We have web server

So, can those two be made to play together?

e.g. so that ATV2 can ask for library export from main computer talks to my main computer? So that it can import it and know the paths where it should look for media files? So that it can report to main library watched status changes?

Generally, master - slave library concept, so we can prepare content on pc with keyboard and only consume it on lightweight devices.

Now, I'm no programmer, do you think of this as a good alternative and would implementation be "easy" enough to be achievable in near future?

My skins:

Quartz
Amber
find quote
hippojay Offline
Fan
Posts: 301
Joined: Mar 2008
Reputation: 13
Location: Sheffield, UK
Post: #23
I thought there was a JSON interface now, so you could probably wirte a similar plugin as we did for Plex to get the library using VideoLibrary.GetMovies)?

I don't see anything which would allow a file to be downloaded from XBMC (there is Files.Download but not sure what this provided) but if XBMC knows the location, then surely it can serve out the file fairly easily?

I could be talking rubbish though...
find quote
pieh Offline
Team-XBMC Member
Posts: 665
Joined: Aug 2010
Reputation: 13
Location: Poland
Post: #24
@topfs2
I was really interested in this topic and tried to do a little research and found out that using upnp standards may be problematic (or I'm missing something). Essentially what I want to say - upnp docs don't say anything about "Library scheme" - it seems that it's "vendor specific" (or simply I couldn't find how it should be implemented).

I used this doc: http://www.upnp.org/specs/av/UPnP-av-Con...ervice.pdf
find quote
sho Offline
Team-XBMC Member
Posts: 4,133
Joined: May 2004
Reputation: 3
Post: #25
topfs2 Wrote:Also a side note, the proposition is far from finished, which is why its not linked to anywhere in the wiki yet Wink (bad sho! Tongue)
Sorry, I thought as soon as something was on the public wiki it was open for discussion.
But it's not like it's the outline of the next stealth bomber Wink

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
topfs2 Offline
Team-XBMC Developer
Posts: 3,825
Joined: Dec 2007
Reputation: 8
Post: #26
sho Wrote:Sorry, I thought as soon as something was on the public wiki it was open for discussion.
But it's not like it's the outline of the next stealth bomber Wink

Hehe, was mostly joking with you Smile. I did not link to it mostly because I was thinking it might have been good to wait until if our community got a spot but discussion is always good so it really doesn't matter Smile

And what are you saying, this is a stealth bomber !!!

@pecinko

Well what you are proposing is still a hack/workaround IMO and isn't it enough with one already? Can't keep taking the short way out anymore Smile

Also if you read my proposal the main goal is NOT to create a finished and all together perfect server but to iron out libraries which could be used and to create a proper base (and create the server as a testground for the libraries, so it will work but far from finished). It is GSoC, you are supposed to do somewhat crazy stuff during that. Most projects are a bit out of there and are to spur development. They should be usable when complete but its often more important (IMO) that they start something which will (keyword) become something used in the future, and continues to be developed.

EDIT: The classical saying comes to mind "aim for the stars and you might hit the sky"

grajen3 Wrote:@topfs2
I was really interested in this topic and tried to do a little research and found out that using upnp standards may be problematic (or I'm missing something). Essentially what I want to say - upnp docs don't say anything about "Library scheme" - it seems that it's "vendor specific" (or simply I couldn't find how it should be implemented).

I used this doc: http://www.upnp.org/specs/av/UPnP-av-Con...ervice.pdf

Yeah this is something I'm worried about myself, I haven't done enough research on the matter and this are stuff which definitely needs to get ironed out before we decide on the project. There are lots of other small problems which is that there is no standard for the metadata either, in this case however I was hoping to set a standard which could be used by other media centers as well (media portal, myth (who already uses uPnP besides their main protocol) and even if its vendor specific we can perhaps iron out enough so that its perfect for the media centers which uses that scheme but works for those which is not (by works I mean its possible to navigate etc.)

This brings me onto this:

hippojay Wrote:I thought there was a JSON interface now, so you could probably wirte a similar plugin as we did for Plex to get the library using VideoLibrary.GetMovies)?

I don't see anything which would allow a file to be downloaded from XBMC (there is Files.Download but not sure what this provided) but if XBMC knows the location, then surely it can serve out the file fairly easily?

I could be talking rubbish though...

You could for sure use JSON RPC to do much of this and a matter of fact my idea (have not written that yet) is to use that for managing, i.e. so it can be used to control the server. This means a) can piggy back on webinterfaces done for XBMC and b) xbmc can piggy back on normal GUIs made for the server and c) it gives us a chance to make JSON RPC (our spec, our api) outside xbmc and to iron out the managing part which we want in the API no matter.

Files.Download is a method which gives information about how to acquire the file, i.e. it depends on the transport. HTTP will give you a url you can get the file from and TCP (when implemented) might give you a port you can download it from. JSON RPC lets the transport be in charge of the downloading which means that its standard HTTP, i.e. what many uPnP implementations afaik use. This means you can for sure use JSON RPC to stream files so if uPnP turns out to not work we can just use JSON RPC, however I'd prefer to use something which is less XBMC-specific but it is a fallback.

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
(This post was last modified: 2011-03-16 17:24 by topfs2.)
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 24,523
Joined: Oct 2003
Reputation: 138
Post: #27
A useful first step that any user can do if all you're wanting is to share running XBMC sessions with running XBMC sessions is to simply use XBMC's built-in UPnP server.

1. What is it missing? Make a list of how it could be improved.
2. Which of these is easy to add?
3. Let's add them.

After all, simple, readonly support is a fine first step that most folk will be quite happy with. Extend that to allow watched status to be transferred and you pretty much have everything you want.

The XBMC server concept then covers the other case - it supplies the UPnP/web interface backend without having XBMC running thus allowing it to run on lesser machines (NAS for instance).

Cheers,
Jonathan

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
captaintater Offline
Junior Member
Posts: 8
Joined: Mar 2011
Reputation: 0
Post: #28
Harley Hooligan Wrote:Plexbmc does allow for resuming thanks to hippojay, and watched bs unwatched status. This seems to be the solution for you. I would also recommend the frontseat skin which will automatically add your pms shares to your home screen, when used with the plexbmc script.

Hey Harley Hooligan, thanks for the suggestion. I have tried the PleXBMC plugin and am impressed. That is a really good solution. Of course it would be better if it could be added into XBMC as a native function, but this is pretty awesome. Hopefully we will see music support in the future, and I have some other questions about your plugin, but I will ask those on your forum.

As far as for this topic, this is a great solution for movies and TV shows. I still vote that we continue work on getting a native solution, but until then, this is great.
find quote
hippojay Offline
Fan
Posts: 301
Joined: Mar 2008
Reputation: 13
Location: Sheffield, UK
Post: #29
topfs2 Wrote:You could for sure use JSON RPC to do much of this

I don't think anyone else has tried it yet, so I had a go:

XonX addon - uses JSON-RPC to talk to XBMC instances (multiple) and pull Movie and TV show library info back. Currently playback is by means of SMB..

So basically, you set up an XBMC instance as the central libary - and play media that it directs you too..

http://forum.xbmc.org/showthread.php?tid=99297
find quote
wingzfan Offline
Junior Member
Posts: 15
Joined: Jan 2011
Reputation: 0
Post: #30
I know this is an older thread but Im finally getting around to handling this since Ive added a few more HTPC's to the house.

Im setting up a DB based on the lifehacker tutorial in the first post. My question is this. MySQL db is stored on my windows server 2008 box and thats where all my files are stored. Those media drives share through my home network as an SMB. When doing the single db Im assuming I have to install XBMC on the server box and setup my library on that box then leave xbmc running on it? Then copy the created xml file to each of the other XBMC installs throughout the house?

Just trying to make this as smooth as possible.
find quote
Post Reply