• 1
  • 4
  • 5
  • 6(current)
  • 7
  • 8
  • 58
xbmc minified as a server?
#76
Yes, I only have NFS shares and can successfully scan them. Before I built libxbmc.so I used the --enable-nfs option when I ran configure. ie. ./configure --enable-nfs

Reply
#77
(2012-07-25, 13:54)pecinko Wrote: Last time I asked explanation was that it could be used to XBMC 2 XBMC communication.

Even if you are on the same LAN it would be useful to have xbmc server serving stuff in an centralized way (in ideal case on NAS, but I won't mind it running on PC either). Tablet can be used in bed and for listening to music so local LAN != htpc only.

Finally with all manufactures making efforts to support apps on their devices it seems only logical to have centralized server in addition to all-in-one XBMC and use native apps for clients instead of porting XBMC to all posible platforms out there. Sometimes porting is not possible and XBMC resource demands does not suit any device out there. Native apps would be fast and made by people that are familiar with given platform and I really think there will be lots of them as XBMC is open platform as opposed to others.

Wether devs are interested in this and if this can be achieved through UPnP - I really don't know.

Thanks for the reply pecinko.

Last night, I wanted to see what upnp was about and whether it had any features that I wasn't aware of.

On my HP Touchpad running CM9, I fired up BubbleUPnP (one of the best reviewed ones). It didn't find anything because all my clients were in suspend. So I fired up the official android remote and woke one of them up (wake-on-lan), then switched back to bubbleupnp. It found all my media (movies, tv shows and music). I could select either the local renderer (local playback) or the media center (remote play). It was neat in a way that you can do some sort of an "airplay" with this where you can play media from one device to another (I guess with this statement I sound like one of those people who think mp3 players are similar to an ipod rather than ipod being an mp3 player).

Anyway, SD material streamed just fine, but HD stuff was a no go because of no hardware acceleration. I tried several apps before settling on DICE, which actually supported x264 acceleration on the touchpad. But then the playback was choppy due to weak wifi signal in the bedroom. Then my wife yelled at me. Apparently we're not supposed to watch tv in bed Cool

The moral of the story is, upnp is promising, I can see the value for smart tv's that are upnp enabled, that might work without a dedicated htpc. But there are some issues with that: 1) Those tvs will still require an htpc to be on somewhere, so they can stream from it 2) The tvs are unlikely to feature hardware acceleration for HD material (currently there is no transcoding) 3) Interface (skins) is usually the reason people use xbmc rather than a media streamer

So overall, I think that upnp was a promising option for xbmc-2-xbmc communication prior to mysql and such. But nowadays with media servers and mysql and cheap xbmc build options, it is no longer "cool".

The only way I can see upnp as a viable and up-to-date solution is if a) a upnp server could run on unraid (or other servers) that tied into xbmc's mysql database (to update watched status, etc.) and b) included transcoding and remote streaming so it is no longer lan-only (bubbleupnp has a upnp server app that allows remote streaming, but no transcoding)

Only then upnp would be a good alternative to the "xbmc minified as a server" that is the main topic of this thread (I had to tie it in so I don't get yelled at for hijacking Wink )
Reply
#78
(2012-07-25, 14:04)Odon Wrote: Hi,
anyone has success with xbmc-server apps and NFS source scanning ? I can't scan NFS on my server side client and I can't easily test with complete XBMC.bin.

Ok, problem found and resolve.
I get a fresh install on a new virtual machine and NFS source scanning was working fine, but I saw a message about XBMC complaining that nmblookup was missing. Then I installed samba-common, and NFS source scanning was not working anymore.

nbmlookup returns all IP from requested host even if those IP are not available on current network... ( XBMC VM is on 192.168.1.0/24 but my NAS has IP on both 192.168.1.0/24 and 192.168.10.0/24)

If I unplumb interface on 192.168.10.0/24 from my NAS, NFS source scanning works.

Two questions then:
- why XBMC try to use nmblookup even for NFS sources ? (and it seems it is not really required as it was working before nmblookup install)
- why XBMC does no try all returned IP, as some IP might not be available on current network ?

Reply
#79
Does anyone have a PPA for my Ubuntu-Server to test the XBMC-Server?
Thx
Philips TV with Kodi 20.2 with IPTV --- Orbsmart 500 Android 21 alpha/beta as Online-radio/TV in the kitchen
Reply
#80
I'd like to compile this minified-server myself, but I fail to get it done.

I checked out the sources into /media/xbmc/xbmc;
I compiled libnfs, and make install-ed it.

I ran

./bootstrap && ./configure --enable-shared-lib --enable-nfs && make
edited xbmc/Makefile to add:
SRCS+=..\xbmcVideoLibraryScan.cpp

just above:
LIB=xbmc.a

added http://pastebin.com/R95Mbcqv as xbmcVideoLibraryScan.cpp in /media/xbmc/xbmc

But if I run make, it fails with:
make[1]: *** Er is geen regel om doel '..\xbmcVideoLibraryScan.o' te maken, nodig voor 'xbmc.a'. Gestopt.
make: *** [xbmc/xbmc.a] Fout 2

What am I missing here?

Reply
#81
(2012-06-13, 10:48)vicbitter Wrote: With the latest code from head you now create a libxbmc.so shared library that can be used to create your own CLI (or server-based) XBMC applications... Smile

Here is a sample Video Library scanner application that uses libxbmc.so to update XBMCs Video Library...

http://pastebin.com/WpEvRTws

Enjoy!

Awesome stuff, thank you!

I had some crashes while uploading my library due to the rarlib wanting to show progressbar whenever it unpacked a sub, here's a patch for it: https://github.com/frals/xbmc/commit/06f...7b152ab457

EDIT: fix part of master as of now: https://github.com/xbmc/xbmc/commit/4577...027cf38180
Reply
#82
You might want to use the updated sample code from this post
Reply
#83
Has anyone created a less kludgy way of building the sample application? My makefile-fu is pretty weak, so I'm hoping someone else has.

Ideally there should be a way to build without having to link the entire xbmc source tree (isn't that the point of a standalone lib?), but I would be happy just to be able to build xbmc-server in parallel with xbmc without temporary Makefile changes.

Ian.
Reply
#84
(2012-08-25, 21:52)vicbitter Wrote: You might want to use the updated sample code from this post

Totally missed that, thanks. Here's a version that compiles against current master: https://gist.github.com/3475929 - g_application.getApplicationMessenger() replaced with CApplicationMessenger::Get().

Reply
#85
(2012-08-26, 02:54)schmoko Wrote: Has anyone created a less kludgy way of building the sample application? My makefile-fu is pretty weak, so I'm hoping someone else has.

Ideally there should be a way to build without having to link the entire xbmc source tree (isn't that the point of a standalone lib?), but I would be happy just to be able to build xbmc-server in parallel with xbmc without temporary Makefile changes.

Ian.

Makefile for xbmc-server (sample application is xbmc-server.cpp in a subfolder of XBMC tree with included Makefile => "make all"):
Code:
SOURCES := xbmc-server.cpp

LFLAGS += -lxbmc -L..

# Objs are all the sources, with .cpp replaced by .o
OBJS := $(SOURCES:.cpp=.o)

all: xbmc-server
        include ../Makefile.include

xbmc-server: $(OBJS)
    $(CC) $(CFLAGS) -o xbmc-server $(OBJS) $(LFLAGS) $(LIBS)

# Get a .o from a .cpp by calling compiler with cflags and includes (if defined)
.cpp.o:
    $(CC) $(CFLAGS) $(INCLUDES) -c $<

Reply
#86
(2012-08-27, 23:23)Odon Wrote:
(2012-08-26, 02:54)schmoko Wrote: Has anyone created a less kludgy way of building the sample application? My makefile-fu is pretty weak, so I'm hoping someone else has.

Ideally there should be a way to build without having to link the entire xbmc source tree (isn't that the point of a standalone lib?), but I would be happy just to be able to build xbmc-server in parallel with xbmc without temporary Makefile changes.

Ian.

Makefile for xbmc-server (sample application is xbmc-server.cpp in a subfolder of XBMC tree with included Makefile => "make all"):

Thanks, this is perfect. I now realize that rebuilding shouldn't be required unless the database or APIs change, but at least now its a painless part of the normal deployment procedure.

Ian.

Reply
#87
Any chance we could get a cleaned up guide on compiling the headless server? I'm curious on this since I've started using the shared database on my NAS.
Reply
#88
To use with the latest code from XBMC head (ie. Frodo)

1) If you haven't built libxbmc.so

Code:
cd xbmc-frodo directory
./bootstrap
./configure --enable-shared-lib
make

copy the libxbmc.so shared library to /lib

2) Build the sample application

a) Copy the following make and sample code into the xbmc directory under the xbmc-frodo directory
i) xbmcVideoLibraryScan.cpp
ii) make_xbmcVideoLibraryScan

b) Build the application
Code:
cd xbmc-frodo directory
cd xbmc
make -f make_xbmcVideoLibraryScan all

3) To run the sample application
Code:
XBMC_BIN_HOME=/usr/local/lib/xbmc XBMC_HOME=/usr/local/share/xbmc ./xbmcVideoLibraryScan
Reply
#89
Thanks! I'll be working on this later as I have to redo my OMV machine from screwing it up learning. Big Grin
Reply
#90
So after being away for a long time, as i had been without my server. I thought i would check in to ask how development is going. As i had mentioned in the first post of this thread, I was working on a web UI to interact with both server & clients in 1 setup, Only the last few weeks had i started too engage in the development. Below is a picture off where im up too soo far,

Image

Now in regards to my plans, everything is being set as a server / client model structure, Soooo..... any video, audio scans will be processed through the server and any player commands will be sent through to the clients (I use the term client xbmc, as many others may refer to it as a server, but in regards to this situation, imo any xbmc receiving files and acting as a player is regarded as a client). Now.. Back to the first post when i tested the headless version months ago, i noticed it didn't gather streaming data, I don't know if this had been rectified or not, but it didn't allow me to determine the quality of videos and there outputs etc. In my web UI, i will be integrating the update and clean options as well as any other server tasks. I also find that if we are to set art data locally on the server, it delays loading times on the clients. I think maybe doing a rsync callback after each update to every xbmc is the way to go atm, Although i heard Fredo will resolve this issue.

Other than that, as long as the server version does the basic tasks will be sufficient for 99% of server client xbmc setups. Also is the direction heading towards cli or daemon? I will try the latest version in a day or 2 as im not in the mind set to play around with the server atm lol....cli wouldnt be a bad idea, only problem is 3rd party apps wouldn't have access to scan or clean libraries remotely... Either way i'm happy to see this coming along and hopefully be the norm in the near future.

EDIT: come to think about it, I prefer the continuation off a daemon version (Continually running) as this still allows browsing and administrative tasks on items while other clients are powered down. I also use the server to list the libraries as the clients all reference the same id's for each item. This elimates reloads when switching clients and makes transitions a snap when doing player tasks on multiple Xbmc's....
Reply
  • 1
  • 4
  • 5
  • 6(current)
  • 7
  • 8
  • 58

Logout Mark Read Team Forum Stats Members Help
xbmc minified as a server?9