• 1
  • 5
  • 6
  • 7(current)
  • 8
  • 9
  • 58
xbmc minified as a server?
#91
If you use my modified code from PASTEBIN along with the small change noted in the post above (#84) to sync up with Frodo then it will run in complete daemon/server mode w/o GUI frontend and is how I've been running it for the last couple of months. I then did a quick hack of the webgui giving me quick access to the Update, clean, export, restart, quit, and the factory web interface. I also have things like sabnzbd, couch potato and sickbeard directly sending update notifications to it so it updates for my ATV2 boxen which are sharing the same library.

I'd be very interested in your front end when you're further in...

Cheers!



Reply
#92
Patches and PR's welcome to AWXi if you don't want to start from scratch Smile
Image
AWXi - Ajax web interface. Wiki
Reply
#93
alright cool, cool, I'll get into it again in the next few days, thanks... I tried AWXi and i didn't like it and didn't fit my needs (or feel right to me).... To clarify, i've layed out all classes and js script code as all good to go, so far the JS is pretty much like a framework and can be taken up farely quickly for a complete new look and feel I got the server side integration out the way through curl then ( BTW the clients are also controlled this way aswell for WAN access ). soo pretty much the js is app.xbmc.client(method,params,callback) or app.xbmc.server(method,params,callback). and thats it... now just styling the pages is all that needs to be done... i did it like this because i prefer the more personal feel and if you notice the background. Its also opened in shadow box from a root server homepage so im trying to make it all in 1 type of thing. then when i need to make adjustments or add features, it will be a breeze to pick up.

EDIT: I also noticed the default skin for webui was very laggy when scrolling due to no compression's, so i used GD to dynamically re-size the images and now i get a nice fluid scroll, so im just going to implement local cache after processing to allow faster loads off libraries with thumbs. Also dont get me wrong AWXi seems like a good addition, but it just wasn't for me and didnt have the thumb layout feel i liked about the original skins.
Reply
#94
BTW manxam, is the latest version still compatible with eden? Im not game enough to upgrade to frodo until a final release is done, only because i've had hell setting my boxes up just to get it right and i still have the issue where i can't wake from usb remote. But that's another story.
Reply
#95
No worries. It's pretty simple to add views now tbh. Poster view looks pretty much the same as your screen shot though http://wiki.xbmc.org/index.php?title=Add...Xi#Posters without the bookshelf? Image transform should be coming in frodo next month (hopefully) where you can request a (fixed) size for thumbs.
Image
AWXi - Ajax web interface. Wiki
Reply
#96
(2012-09-03, 14:47)vicbitter Wrote: 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
I know getting this running on my NAS (Synology) can be horrible but for some reason i still want to give it a try. Will try tonight and see how things go.
Reply
#97
That looks alot better than i recall, Good work!
Reply
#98
schumi2004, please keep us updated on your progress. I just got a new Synology DS411+II to replace my 211j that was running out of room. The 411+ is an Atom processor, so if I could get the XBMC Library Scan installed on that, it'd be wonderful.
Reply
#99
I seem to be dense or something. I haven't got it to run yet. It would be awesome if someone could set up a ppa for it so others who don't have the capability for this can get it working.
Reply
wat ppa is for monthly builds? i used 1 a while ago but i'm pretty sure it was nightly builds, I'm after the latest stable pre-frodo as my current update on my xbmcbuntu is really unstable and i wish too use GUI.ShowNotification as its not present in Eden, i also want to experience the Thumb caching and resizing features so i can adapt my applications for it...
Reply
(2012-09-03, 14:47)vicbitter Wrote: 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
Having difficulties getting this to work properly. It errors out when building with make. Note, it builds fine if I use ./configure instead of ./configure --enable-shared-lib. This is on a clean ubuntu 12.04 install, and I did do the make -C lib/taglib and sudo make -C lib/taglib install.

Code:
/usr/bin/ld: /usr/local/lib/libtag.a(mpegfile.cpp.o): relocation R_X86_64_32S against `vtable for TagLib::MPEG::File' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libtag.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libxbmc.so] Error 1

It offers a solution, but I am not sure if that is the course of action I should pursue.
Reply
I also had issue with libtag, so I compiled it on my own, to have .so library.


wget https://github.com/downloads/taglib/tagl...1.8.tar.gz
tar xzf taglib-1.8.tar.gz
cd taglib-1.8
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release .
make
make install

Don't forget to remove all .a occurrence of libtag:
rm /usr/local/lib/libtag*.a

Reply
(2012-10-04, 10:53)Odon Wrote: I also had issue with libtag, so I compiled it on my own, to have .so library.


wget https://github.com/downloads/taglib/tagl...1.8.tar.gz
tar xzf taglib-1.8.tar.gz
cd taglib-1.8
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release .
make
make install

Don't forget to remove all .a occurrence of libtag:
rm /usr/local/lib/libtag*.a

This worked wonders. Thanks!

Reply
(2012-09-03, 14:47)vicbitter Wrote: 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
So I've gone through this as well, but I'm stuck at the final step. I'm unsure on how to execute the xbmcVideoLibraryScan example, specifically on what to set the paths (XBMC_BIN_HOME and XBMC_HOME) to. My guess is that XBMC_BIN_HOME should point to the freshly compiled XBMC binary, but I'm unable to locate that. My other guess is that XBMC_HOME should point to the directory containing 'userdata' and such.

Seeing how they're both guesses, can somebody tell me what they really should be?

Reply
(2012-10-07, 15:17)XBL. Wrote:
(2012-09-03, 14:47)vicbitter Wrote: 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
So I've gone through this as well, but I'm stuck at the final step. I'm unsure on how to execute the xbmcVideoLibraryScan example, specifically on what to set the paths (XBMC_BIN_HOME and XBMC_HOME) to. My guess is that XBMC_BIN_HOME should point to the freshly compiled XBMC binary, but I'm unable to locate that. My other guess is that XBMC_HOME should point to the directory containing 'userdata' and such.

Seeing how they're both guesses, can somebody tell me what they really should be?

On my side, I don't have to set environment variables. I set a XBMC folder in /opt/xbmc which contains:
- all xbmc subfolders (addons, language, media, sounds, system, userdata)
- minified-xbmc binary

In /usr/lib:
- libxbmc.so
- libnfs.so.1 build from sources.
I had to add libnfs.so.1 in /usr/lib too for NFS scanning to work, because this is not a dependency strictly speaking (binary works without it) but log file was complaining about it and NFS scanning didn't work.

I launch "/opt/xbmc/minified-xbmc --nolirc -p" (-p for portable mode which keeps all settings in <xbmc_folder>/portable_data/ (launch binary once to create the folder, then set all your .xml inside: advancedsettings, guisettings, sources)

I think there is multiple server version code around (at least one which do library update and halts, and one which works as a daemon).

With daemon version, you can use Curl to request library update:
Code:
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "1"}' http://127.0.0.1:8080/jsonrpc
Change 127.0.0.1 to xbmc server IP if you want to request it from another computer.

You can automate Video library update by setting a cron. For example, create a file "xbmc_cron" in /etc/cron.hourly to update library once per hour:
Code:
#!/bin/sh
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "1"}' http://127.0.0.1:8080/jsonrpc

Don't forget to allow execution (chmod ug+x /etc/cron.hourly/xbmc_cron)
Reply
  • 1
  • 5
  • 6
  • 7(current)
  • 8
  • 9
  • 58

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