XBMC Backend

  Thread Rating:
  • 2 Votes - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
fional Offline
Posting Freak
Posts: 903
Joined: May 2011
Reputation: 17
Location: Ireland
Post: #16
aptalca Wrote:To be honest, I wasn't too familiar with Plex before as I don't own a Mac, but a quick look into it reveals that Plex Media Server does most of the things I suggested such as centralized library management and adjustable transcoding and serving for remote mobile devices.

I guess running plex media server on unraid would be a solution for streaming to remote mobile devices and since plex is based on xbmc, I am assuming it should be able to easily populate its database from the same nfo's and metadata saved alongside the content.

But I don't think I would be able to stream that content to my windows laptop, it would only work on ios or android.

And it wouldn't help with the centralized but locally updating database issue with xbmc.

I don't know anything about Plex, but I have seen a plexxbmc plugin floating about.
find quote
topfs2 Offline
Team-XBMC Developer
Posts: 3,997
Joined: Dec 2007
Reputation: 9
Post: #17
aptalca Wrote:To be honest, I wasn't too familiar with Plex before as I don't own a Mac, but a quick look into it reveals that Plex Media Server does most of the things I suggested such as centralized library management and adjustable transcoding and serving for remote mobile devices.
And everything plex media server does is withing the media server:4 spec of upnp (but they choose to use their own protocol). I know many have bad (for no reason) thoughts about upnp but if you'd take the time and read the specs (nearly noone does, not even developers) you'd notice its more or less exactly what we (and they) want.

Obviously I still want it not tied to a single tech and I'm still very sad that we weren't selected for this years gsoc (where I would have hoped to have gotten the chance to do the server part of this), but hopefully we will have the time to do this during autumn (with me doing banshee GSoC (topfs2.wordpress.com) upnp this summer I'm very interested in doing the same for xbmc).

Anyways, I'm sure many devs would want it but the problem is mostly that almost no dev run more than a single machine for xbmc. When they do they will most likely have more time to devote for this project (as it is somewhat the future). We have great plans for doing this nicely though (partly with json-rpc).

Cheers,
Tobias

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-07-23 02:49 by topfs2.)
find quote
aptalca Offline
The Dude
Posts: 903
Joined: Sep 2009
Reputation: 23
Post: #18
Tobias, you gave me plenty of reading material that will take me a while to go through :-)

I did not know plex was using upnp for their media server. Did they have to modify the protocol (or simply not abide by their rules) in order to allow streaming to remote devices and enable adjustable transcoding (for wifi vs 3G)?

In the meantime, I read more about plex media server and realized there were some people who were really interested in making xbmc compatible with it.

I do not think that would be the way to go for several reasons including xbmc team members clearly saying they are not in any way interested in it (due to plex being closed source), and xbmc library not being totally compatible with plex, etc.

I do not want to start another one of those discussions in this thread. But I would like to use plex media server as an example of how a competing media center software is evolving, and ask the question of what's in store for xbmc in the long run?

When I look at how people utilized their media in the past and how they are utilizing it now, I realize there has been a great shift towards digital media in the last few years fueled by faster and more available broadband connections and cheaper storage solutions. That was why xbmc was born in 2003.

Fast forward 8 years to 2011. Many people are moving their media out of their internal storage to NAS/FreeNAS/unRaid boxes and pairing it up with multiple xbmc boxes. There is also an abundance of mobile devices in houses, such as smartphones and tablets, some of which are capable of running xbmc, others can be used as xbmc remotes to control other xbmc devices.

So the question is, how is xbmc planning to connect these devices? Plex does it with their media server, Apple does it with AirPlay. Even satellite and cable companies are starting to do it with their newer receivers that communicate with each other, and can be controlled through mobile apps.

XBMC still pretty much offers individual systems with each having their own library out of the box. Dharma brought the mysql library option which helps centralize the library on a mysql server, but that still doesn't offer any communication between boxes other than sharing the bookmars in the library so you can stop a movie on one box (bookmark auto-created), resume on another.

One option would be to have a media server that handles the communication and library centralization as I explained in the original post.

Another way (tbh I think the xbmc team would be more likely to go after this than a server) would be to have the xbmc software identify other boxes on the local network and communicate with them directly to bring AirPlay like feature to xbmc. (This could also possibly be achieved through an addon using http or JSON-RPC)
find quote
pecinko Offline
Donor
Posts: 3,719
Joined: Dec 2008
Reputation: 50
Location: Prague / Belgrade
Post: #19
topfs2 Wrote:Anyways, I'm sure many devs would want it but the problem is mostly that almost no dev run more than a single machine for xbmc. When they do they will most likely have more time to devote for this project (as it is somewhat the future). We have great plans for doing this nicely though (partly with json-rpc).

If the devs said they are interested I'm more than confident that a lot of people would donate to the cause. Look at the number of ATV2, iPad or users with mysql DB. They all would happy to have centralized easy manageable place for their media. And ATV2 is pretty affordable to buy devs as second machine.

However, last time there was a prevailing opinion that DB management should stay inside XBMC and that is a big deal breaker, as far as I'm concerned.

My skins:

Amber
Quartz

find quote
aptalca Offline
The Dude
Posts: 903
Joined: Sep 2009
Reputation: 23
Post: #20
pecinko Wrote:However, last time there was a prevailing opinion that DB management should stay inside XBMC and that is a big deal breaker, as far as I'm concerned.

I actually prefer managing my database within XBMC, too. I only needed to use XWMM once to create movie sets (easier than manually editing nfo's), other times, imdb and tvdb scrapers and the logo downloader have been more than adequate.

However, I currently only use one machine with a bunch of external drives attached. (Started with only internal hdd, but had to add 4 more external drives as my library grew)

I have been meaning to build an unraid box for the past year and add a couple more xbmc boxes (possibly an atv for the bedroom and a 3d capable box for the 3D projector), I just haven't had the time (or money).

With an xbmc webserver, (pretty much a watered down xbmc version that doesn't have direct playback capability or fancy skins that do full frame refresh cycles even at idle, causing high cpu usage, but one that retains full library/DB capabilities) DB management *still* within XBMC could be accomplished.
find quote
fional Offline
Posting Freak
Posts: 903
Joined: May 2011
Reputation: 17
Location: Ireland
Post: #21
jmarshall Wrote:It's not ideal as not everything is shared exactly as you may wish, but give it a go and let us know how it goes (I suggest starting with confluence).

Hi,

Well I definitely gave it a try. Hopefully I did something wrong, because the results weren't that great.

Sitting room XBMC with the specs in my signature. I went into Settings and enabled the uPnP stuff.

Then in my bedroom, I have an HP Pavilion dv5 or whatnot. It plays things nice enough, no problem. I do a lot of my XBMC testing on here before I do it to the sitting room bit, that way I don't mess things up. So I know it's well capable of playing this stuff. Default skin, nothing extra going on.

On the laptop, I went to video and added the uPnP share. It saw the sitting room machine right away, which was very cool. It let me choose between Music Video and Videos.
From there was a tree like Movies, Recently Added, Tv Shows and a couple others.

I selected Movies, from which it went to Actors, titles, etc. From here I just selected OK and let it refresh.

It didn't actually create a library. I could access the files from "video", but none of the .nfo information was present. The only way I could tell which films were in the presently connected drive was that they had a filesize. But there was nothing. Worse yet, the films buffered loads. Now, that's probably my local network - but I'm not sure why it would do that when I can stream from the laptop to ps3 using (i think) uPnP with not a single stutter.

There wasn't as much stuttering with TV Shows - but the interface and navigation, basically not library mode, made it far from desirable.

Did I miss a step? Should I be able to get library mode through uPnP?

Thanks!

I like managing my database with XBMC as well and would prefer not to use windows media server or any of the other things, as I really like XBMC. All I do is use EMM-R to create the .nfo files, but that's just because I like the concept of the .nfos and found the process fun.
find quote
topfs2 Offline
Team-XBMC Developer
Posts: 3,997
Joined: Dec 2007
Reputation: 9
Post: #22
aptalca Wrote:Tobias, you gave me plenty of reading material that will take me a while to go through :-)

I did not know plex was using upnp for their media server. Did they have to modify the protocol (or simply not abide by their rules) in order to allow streaming to remote devices and enable adjustable transcoding (for wifi vs 3G)?

No I think my statement might have been missinterprented, they are not using uPnP I simply meant that all they do with with their media server _could_ have been done within uPnP specs Smile I am sad they choose their own way instead of abiding with already existing standards but I respect their choices.

aptalca Wrote:So the question is, how is xbmc planning to connect these devices? Plex does it with their media server, Apple does it with AirPlay. Even satellite and cable companies are starting to do it with their newer receivers that communicate with each other, and can be controlled through mobile apps.

XBMC still pretty much offers individual systems with each having their own library out of the box. Dharma brought the mysql library option which helps centralize the library on a mysql server, but that still doesn't offer any communication between boxes other than sharing the bookmars in the library so you can stop a movie on one box (bookmark auto-created), resume on another.

One option would be to have a media server that handles the communication and library centralization as I explained in the original post.

Another way (tbh I think the xbmc team would be more likely to go after this than a server) would be to have the xbmc software identify other boxes on the local network and communicate with them directly to bring AirPlay like feature to xbmc. (This could also possibly be achieved through an addon using http or JSON-RPC)

We have many ideas and part of it is to allow what this thread is about, multiple backends. We have other ideas about how to deal with settings sharing etc but thats offtopic on this thread so I will not go into it, but yes, json-rpc could be used for this. Ideally I think multiple ways and a general API for that would be good also as controlling playback on other devices can be achieved via other (uPnP one of them) APIs so good to be general.


pecinko Wrote:If the devs said they are interested I'm more than confident that a lot of people would donate to the cause. Look at the number of ATV2, iPad or users with mysql DB. They all would happy to have centralized easy manageable place for their media. And ATV2 is pretty affordable to buy devs as second machine.

Thing is its not really that devs are missing hardware and we know which devs might be interested in this. We don't _need_ hw to develop this. I simply meant that when (and if) more devs start using multiple devices and tablets they would probably want to develop something like this. With floss most devs simply do what they want and need for themselfs Smile.

So it makes no real sense of us to ask users to donate hw randomly to devs (and pretty hard to get them to) even if thats what might be needed Smile

pecinko Wrote:However, last time there was a prevailing opinion that DB management should stay inside XBMC and that is a big deal breaker, as far as I'm concerned.
A user should never need an external application to setup XBMC, however, an external backend could easily allow configuration through the rpc (to be used in xbmc) or via a normal application framework. Many torrent daemons (as an example, transmission and deluge) have this behaviour. And again, uPnP allows for remote management of the "DB" so the client (xbmc) could easily alter what is inside the library if the media server allowed it (its not required to support it).

While I many times state uPnP don't really stare at it as its really not important, I think it will be a nice backend but there are numbers of other (propriery and not) which are very needed. Supporting spotify, heck even plex, could be done via addons and all is awesome.

Anyways, what we need from the API is a way for the addons to feed items into the db (either by addon feeding or xbmc asking). Then we can continue to allow for management of the remote (which is nice for uPnP but not for spotify probably).

And @aptalca you are more than welcome to ping me on IRC if you want real time discussions also.

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-07-25 00:26 by topfs2.)
find quote
topfs2 Offline
Team-XBMC Developer
Posts: 3,997
Joined: Dec 2007
Reputation: 9
Post: #23
fional Wrote:It didn't actually create a library. I could access the files from "video", but none of the .nfo information was present. The only way I could tell which films were in the presently connected drive was that they had a filesize. But there was nothing. Worse yet, the films buffered loads. Now, that's probably my local network - but I'm not sure why it would do that when I can stream from the laptop to ps3 using (i think) uPnP with not a single stutter.

With the uPnP source you get something closer to the plugins, some information like fanart isn't really within the spec and thus not shared. We could add it outside spec (not bad at all to do) but we haven't really gotten to it yet Smile

What else where you missing from the listing that would be very lovely to know as some of it I'm sure you could submit as feature request and we could add.

fional Wrote:Did I miss a step? Should I be able to get library mode through uPnP?

Your supposed to get the media, albeit presented in a lighter way (closer to filemode). It won't be as integrated as MySQL and will be more like if you navigate to the smb sources (but with more proper titles and such). This thread is about how to make it as integrated as MySQL though.

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
fional Offline
Posting Freak
Posts: 903
Joined: May 2011
Reputation: 17
Location: Ireland
Post: #24
topfs2 Wrote:With the uPnP source you get something closer to the plugins, some information like fanart isn't really within the spec and thus not shared. We could add it outside spec (not bad at all to do) but we haven't really gotten to it yet Smile

What else where you missing from the listing that would be very lovely to know as some of it I'm sure you could submit as feature request and we could add.



Your supposed to get the media, albeit presented in a lighter way (closer to filemode). It won't be as integrated as MySQL and will be more like if you navigate to the smb sources (but with more proper titles and such). This thread is about how to make it as integrated as MySQL though.

Ah, ye for me all I'm getting is the filename, so essentially just like a "filemode" browser.

I tried the mysql route and definitely failed. I've been reading about smb, but not sure that will give me what I'm looking for either... Mostly I'm just confused. What I do know is I am seeking something integrated and friendly, but I think I'll have to wait for that maybe?
find quote
Starstream Offline
Donor
Posts: 632
Joined: Apr 2009
Reputation: 16
Post: #25
Serviio might be a good place to start with, it has a transcoder that uses ffmpeg, its open source, cross platform and free plus the developer integrated reading XBMC nfo files to provide metadata listings in addition to coverart. It doesn't work with XBMC's library mode but I asked the dev about it and he said it might be possible in a future version.

And it already runs on Arm/x86 NAS including QNAP and Synology models.

Maybe forking Serviio would be useful instead of building another server from scratch.
(This post was last modified: 2011-07-25 10:40 by Starstream.)
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #26
We can't combine Serviio code and XBMC code given the Serviio license, at least not without permission from the author. Serviio also doesn't appear to be opensource either way, so forking is not an option anyway (besides, we're not really into forking others code - we prefer to work with people).

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
Starstream Offline
Donor
Posts: 632
Joined: Apr 2009
Reputation: 16
Post: #27
Nuts I thought it was using an open license, your right double checking it is closed which is disappointing.
find quote
pecinko Offline
Donor
Posts: 3,719
Joined: Dec 2008
Reputation: 50
Location: Prague / Belgrade
Post: #28
jmarshall Wrote:We can't combine Serviio code and XBMC code given the Serviio license, at least not without permission from the author. Serviio also doesn't appear to be opensource either way, so forking is not an option anyway (besides, we're not really into forking others code - we prefer to work with people).

Still, since Serviio already has XBMC nfo support, chances are author will be willing to consider cooperation. It's worth a try.

My skins:

Amber
Quartz

find quote
hippojay Offline
Fan
Posts: 300
Joined: Mar 2008
Reputation: 14
Location: Sheffield, UK
Post: #29
fional Wrote:I don't know anything about Plex, but I have seen a plexxbmc plugin floating about.

Hello and thanks...

PleXBMC does indeed allow XBMC to use a Plex Media Server (running on OSX, Linux and Windows) to playback media, display fanart plus loads of other stuff. Coupled with a modded skin, it acts as a library replacement...

If you have a look at the quick XonX plugin I wrote, then sharing media around different XBMC instances is fairly straight forward (i.e. use XBMC as a server). However some functionality is still missing from the core XBMC code to make this work seemlessly - which is why I haven't progressed development yet.

However, XBMC is still too heavy an application to do simple server tasks. What I would like to see is a server option, that would allow the CPU heavy rendering to be removed:
  • Some option to start XBMC in server only mode - therefore keeping the client/server in a single binary. This would run without the GUI interface
  • Management of XBMC would be through an extended Web Interface.
  • Extend the web interface to allow for media management. The interface for current media within XBMC is limited, but a web interface opens this up. Modify, add, remove media managed by XBMC. Allows XBMC to still be in control of DB access and data.
  • If transcoding is needed, this can be added in as a layer in the webserver (can uPNP be used locally?)

Just my 2p/2c/€0.02
(This post was last modified: 2011-07-25 15:37 by hippojay.)
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #30
@hippojay: Agreed that that is one option, yes.

Given the XBMC codebase in this area, however, starting from scratch would be greatly preferred, with the goal that said libraries would then be incorporated back in, ofcourse.

What changes do you need/want for XonX to get up and running better - if there's some quick things we can add to make things work a little better then we mayaswell do it as an interim measure. Feel free to ping me or open a seperate thread. IIRC there was something about the ability for plugins to set resume points on listing so that auto-resume stuff worked?

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