Easily Sync Multiple XBMC Machines to 1 Library
#16
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
Reply
#17
branlr Wrote:Sure... sort of.

Mysql works perfectly as long as you use samba shares on even the host machine, are savvy enough to setup mysql, don't mind exporting your library and then repopulating it from the local files, know how to operate your router well enough to ensure that LAN IP's don't change, are familiar with the concept of an .xml file, etc...

What are you on about?
Autofs + NFS. It's not Samba. Works across the network.
ZeroConf. I stopped caring what the IP address of any computer in my house was years ago.
No clue what you need to have a concept of an xml file for, other than advancedsettings.
Code:
GRANT ALL PRIVILEGES ON `xbmc_%`.* TO 'xbmc'@'%';
IF you have a mysql problem, find one of the 4 dozen threads already open.
Reply
#18
darkscout Wrote:Mysql works perfect.

If you can't get mysql working, it's a PEBKAC problem.
It's manual work, and thus I don't want to have to do that as an end user. In the ideal situation I would just install a new XBMC machine, point it once to my NAS's MySQL DB from the installer menu, and everything would work perfectly. I'm a professional programmer, I know how to edit advancedsettings.xml files and connect to databases, I just simply don't want to have to do it for a rather basic and common feature such as this. XBMC, while a great product, still hides too many basic features in its XML configs anyway in my opinion while a 'Central Database' tab in the Settings section shouldn't be that much work.

The 'mesh' setup that is proposed would be even better of course, with new clients automatically discovering their configuration by broadcast during setup Smile That and proper Movie Collection support would really put the final nail on perfecting the product Wink
Reply
#19
darkscout Wrote:Mysql works perfect.

If you can't get mysql working, it's a PEBKAC problem.

I understand that many people use Mysql and love it, but my point is it would be nice if it were a much simpler, easier process like it is in Plex. I want an idiot proof process. I tested Mysql on an idiot (myself) and either he or it failed the test. Either way the desired result was not achieved.

You must consider that all of the conversation in here about Mysql has been completely over my head. Frankly, I can't even figure out what Mysql is or does. I only tried to install it because I found instructions that told me to install it so I could get XBMC to sync.

I would just like an easier way to sync everything, a method for the uncleaned masses, those of us who do not know very much about all of this. I am no developer, just a guy trying to have some fun with his digital media and entertainment.
Reply
#20
Not to mention that the current mysql solution is only a workaround, and as such it's limited in usability. AFAIK it's not possible to get it running on Apple TV 2 or any other iOS device. Furthermore there is no way to auto-sync thumbnails and metadata across clients. I'd love being able to update thumnail/fanart/data on 1 machine, and have all the other clients pull and auto-update such data effortlessly, zero config.

The list goes on, but I think the point is made, it's not just about simplicity, though that should be good enough; but function-wise it's also lacking.
Reply
#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

"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#."
Reply
#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:

Amber
Quartz

Reply
#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...
Reply
#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
Reply
#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! :p)
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.
Reply
#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

"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#."
Reply
#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
Reply
#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.
Reply
#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
Reply
#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.
Reply

Logout Mark Read Team Forum Stats Members Help
Easily Sync Multiple XBMC Machines to 1 Library0