Server Daemon Discussion
#1
Lightbulb 
I wrote up a quick document with some ideas about how an XBMC server daemon or service could function.

https://docs.google.com/document/d/1H_yA...t?hl=en_US

This would be something that gets installed to your home server where all of your media is located. Then XBMC boxes around your house will act more like thin clients and all be connected and synchronized with this server. Changes that are made on the server will be reflected on all of the connected client XBMC boxes.

Let me know what you guys think, and if you want edit capability to the document, just ask and we can all collaborate on this.
Image
thegamesdb.net - An open video games database.
scottbrant.net - Blog
Reply
#2
Hi there

I have had written down some similar ideas in this

post

recently, but a bit more general.

I want to have not just one server with a master db, but many and also support dumb nas devices / USB drives without a mySQL running on them by using file databases and sqlite3 to read and aggregate the data on the fly / purge the data on the fly on the satelite xbmc player (that can also act as media server for each other if they have drives)

This I would realize as a deamon / windows service that makes a network discovery, and manages the content updates.

just have a look, maybe you can find some useful ideas there.

Also this posting might be interesting:

http://forum.xbmc.org/showthread.php?tid=118584
Reply
#3
Yea I just read your post. I guess great minds think alike lol. At least we know there are others out there that are looking for similar functionality.
Image
thegamesdb.net - An open video games database.
scottbrant.net - Blog
Reply
#4
I agree. This feature is somewhat missing.

Unfortunately, xbmc is designed almost monolithic. It would be better to split it in some dll / libraries / modules, that can be called / wrapped by services or deamons . eg. the scraping engine, the payer, the gui and the database engine. The last one is easy to script externaly using shell and sqlite3.exe - so it is a minor issue, but it would be nicer to wrap the basic insert / update /delete in an object interface dll.

With .net easy prototyping can be done, but it is too platform dependant. So I am still thinking about the right way where to start coding and environment to use. In visual studio.net there are nice wrapper / stubs for windows services that can ease the work - but then I have to stick with windows.

Scripting in python can also be an option for platform independency, but I am not sure, if it is a good idea to call scripts from a windows service....
Reply
#5
Python is most likely the way to go. Look at how things like sickbeard and couchpotato handle some similar stuff.

http://sickbeard.com/
http://couchpotatoapp.com/
Image
thegamesdb.net - An open video games database.
scottbrant.net - Blog
Reply
#6
Yes, maybe. I am reading now the developers documentation on built-in functions. The main thing I miss is the sql interface, there is just some read calls via hhtp interface - its a little a workaround. would be better if one can call this stuff directly in python via the xbmc libraries.

The scrapper seems pretty easy to call. But it requires to patch first the sources and the advancedsettings.xml file to point to the right database, scraper engine and data source location. It would be better to have this parameters exposed to the call interface of the function.

It also accepts as parameter only video or music, so the distinction between movie and tv show needs to be set somwhere else. For video, there is an optional path parameter...

container.refresh would probably reload the content into the UI after the scan.

I will download the source from git and will look inside, if the backend part can be extracted from the rest and compiled in its own exe, maybe with an more generic python interface...
Reply

Logout Mark Read Team Forum Stats Members Help
Server Daemon Discussion0