xbmc

You are currently browsing articles tagged xbmc.

…or “Installing Debian and the Coherence UPnP media server on a Linksys NSLU2 NAS thing”.

My two Slugs Bun-bun and Kiki are getting a new companion, Aylee. Aylee is a shape-shifter by nature, which means she is running Debian.

Getting Debian on the Slug was surprisingly uncomplicated. I first booted the off-the-shelf Slug. Using ping -b 192.168.1.255 i figured out it was using the “standard Slug IP address” 192.168.1.77. Using its web interface (which still was running the old R24 firmware), i sent it the Debian installer and waited. A few minutes later, the installer was on the Slug, which then booted.

The next step was to ssh installer@192.168.1.77. The password is install. This will start the actual installing process, which will get all the freshest Debian files for the Slug from o’er the Internets. I chose all the easiest and blankest defaults with the only added spice that my Slug would also be a file server. This comes late in the process from Tasksel. The whole installation process takes a number of hours to complete, which was a reminder from the days of old when installations, well, took hours.

The installation process also asked which hard disk it should use and format. I had gone through the extra work of formatting it on the off-the-shelf NSLU2 interface, but this was unnecessary.

During the installation, i was recommended to install ntp or ntpdate. So when the Slug finally had done its installing magic and rebooted (which it does automagically after it “cannot stress enough” the importance about rebooting), i ran apt-get update and apt-get upgrade. Much to my surprise, my system was already up to date. Take that, Windows :) .

The next step was to apt-get install ntpdate. This installed ntpdate but didn’t seem to configure it, so i had to do some manual labour.

cd /etc/cron.hourly
cat > ntpdate
#!/bin/sh
ntpdate fi.pool.ntp.org > /dev/null
^D
chmod +x ntpdate
run-parts --verbose .

Replace fi in fi.pool.ntp.org to whichever country you’re in, or just leave the country bit out (i.e. just write ntpdate pool.ntp.org) for the automagia to do its thing. At ^D, press Control-D. run-parts --verbose . will run the scripts in the current directory (you saw the ., right?) and report how things went. It was this way i realized that the script ntpdate needs to start with the magic line #!/bin/sh and that it must be made executable with chmod +x. You can leave out the > /dev/null bit to begin with and if you get an hourly email from root that ntpdate has adjusted the clock with zero point zero something seconds, everything works as it should and you can add the > /dev/null bit which will silently keep your Slug in time and not give you more email.

My aim with Aylee is to have it as a photo server. As a challenge, i’m going to use the Coherence UPnP server for this. If all goes pear-shaped, i should still be able to re-flash and shape-shift Aylee back into something easier to handle :)

Coherence runs on Python and Python is already on the base Debian installation. There are a number of ways to install Coherence. One is using aptitude, but that will install an old version of Coherence. Another option is to manually install all the dependencies. Not fun. And the Simple way is to use EasyInstaller which in itself first must be installed. For that you need to get setuptools for your version of Python (say python --version to your slug to find out) and run the downloaded file as a script, i.e. sh setuptools-version-py2.x-egg.

At this time, i thought i would be installing Coherence (easy_install Coherence) but ran into a dependency problem. And i thought easy_install would take care of just those. Pfft. I was missing the packages Twisted and Twisted.Web and was suggested to install them. Not knowing exactly how, i said easy_install Twisted. This looked promising for a moment until i was informed the easy_installer was missing gcc, the GNU C compiler..

Duh. This was going to take some time. Compiling stuff on the Slug? Not my idea of fun.

After successfully installing Coherence 0.5.8 with aptitude instead (aptitude install python-coherence) i became a bit disappointed that the offered version was about one year old. Also, i could not get my photos to show on XBMC using UPnP though they showed okay on my Samsung telly. So it was back to the documentation. According to it, the dependencies can be installed with apt-get as well:

apt-get install python-twisted-core
apt-get install python-twisted-web
apt-get install python-configobj

You could also install the dependencies with easy_install, which i only read after having installed the above packages with apt-get. Not that it should matter much.

After that, i could  finally get the latest greatest Coherence installed using easy_install Coherence. About time, i say :)

There were a bunch of warnings during the installation, but a coherence --version at least confirmed that the software did install.

Finally, i installed rsync so i could copy the jpeg versions of my photos from my laptop to Aylee. Which it is doing currently. It’ll take a while. Unfortunately, the kids are now watching Moomins from the telly, so i can’t test my XBMC now. But i have hopes. And the hardware.

Tags: , , , , , ,

The digibox thingy has made its first two stumbling displays of usefulness! First, as a gaming console and then as a media player. Granted, things are far from “just working”, but watching recorded television on the box which hasn’t been “just working” too well was kind of a relief [0]. But i’m jumping ahead.

This weekend, my dear son Linus, four years, suddenly exclaimed that he wants a “shooting game”. He was tagging along when his big sister was visiting a friend, and that friend had a bigger brother, and he had a computer game. I never really figured out what that game was, but Linus was utterly mesmerized. I on the other hand have never been too keen on computer games. And especially unkeen on violent ones – especially now that i have kids. But heck, if the kid wants computer gaming, a geek dad will get him computer gaming. And can act as a filter to weed out Quake and its cohorts.

From a previous visit to game land, i snatched a recent copy of the Linux Gamers’ Live DVD, booted it from an external drive (yeah, my box doesn’t do optical media) and whop, there be games. Quality games, i may add. For the nice price of zero bucks. Oh the joy of open source :)

I wasn’t able to get sound through HDMI but Linus was happy. And it didn’t take long until he was steering that space ship quite adequately for a four year old who’ve never played a video game, nor operated a mouse before.

My boy is (also) becoming a geek ;)

On the media player side, i was able to manually (ungh) download a pre-programmed and listed movie from TVkaista and play it with VLC player. It wasn’t much of an Integrated User Experience (and my wife did complain that it was too complex, but she’s still buying the fact that it’s not really ready yet). But at least i showed myself – and her – that it’s possible to play a movie on that tiny box.

So what now remains is automagically downloading content using an RSS feed. XBMC can quite happily stream media from an RSS feed but if i want the original 8 Mbps feed, my 11 Mbps connection will ensure the movie will be … buffering quite a bit. So while waiting for XBMC to get this feature integrated, i’ll have to resort to some kludgy ad-hockery by using Miro or Juice as an external download (Update: Juice may need to run in XP mode on Windows 7, or then i’ll just save my resources and try gPodder instead). Which has to run as an application rather than a service. And which will lose all and any metadata which TVkaista kindly provides about the shows.

Sigh. No winning just yet. And another extra few moving parts. It seems like every solution reveals two new problems.

[Blog title reference: The Alarm]

[0] Watching recorded television was a functional requirement for system wife approval. And usability was the central non-functional requirement (which doesn’t imply that usability is required not to work :) )

Tags: , ,

Two or three weeks ago, our digibox gave up. Over its last months, it got slower and slower. The boot-up times became increasingly sluggish, and eventually it became so laggy that it couldn’t even record stuff anymore.

Digibox?

For those outside Finland, a digibox is what we call the “set top box” (which, in these times of thin television sets, resides under the set, not on top of it) which allows our analogue TVs receive DVB television or, which is increasingly their job, record stuff. So in all essence, the modern day VCR.

I did two things. First, i backed up all essential stuff (mostly moomins [0]). Then i did a whole bunch of testing. Our digibox is a Linux appliance, a Maximum 8000 [1], so there were a few things i could figure out. I did a disk check, first on the device itself and then connected to my laptop. I tried running the box without an Ethernet connection. I formatted the disk’s partitions with the built in formatting tool and I re-installed the whole damn box with factory settings. Turned out that “formatting” it only removed the files, so using instructions on the Maximum discussion board, i really formatted the disk using a laptop. The box came back up but was just as sluggish. I even took it to a friend who has an identical box (sans problemos) and tried it there. But all to no avail.

Finally, i asked on Twitter what the best recording digibox out there would be. The answer was TVkaista.fi.

TVkaista is a service, basically “your VCR on the ‘net” with which you watch or download any program on the free-to-air stations in Finland. Legally [2]. A bit like the Hulus and BBC services that exist in the big world. All for a nice fee of 98 € a year. And with some reading of their news pages, i was able to subscribe to a free testing account. Not bad.

Turns out that there is hope for integration (ah! there’s that word again!) with TVkaista. On the pages for your recordings, you can “import to iTunes”. What happens is that iTunes connects to your recordings as a podcast. If you check out the properties of that podcast, there’s a regular URL to a regular RSS feed behind it. It just requires authentication, which wget can handle just fine.

The integration doesn’t stop there though. For a more hard core approach, i could apply some magick to the RSS feed and with that be able to download the full resolution shows instead of the iTunes-ely compressed ones. Or i could get the TVkaista-XBMC plugin and have the magick applied for me. Which would be nice. And if the plugin isn’t magick enough, i’ll just have to learn enough Python to improve it (oh the joys of open source :) ). Or – this just in — i could use the Boxee feed which uses Yahoo! Pipes magick. Whoa.

But i’m getting way ahead of me. Right now the Asus Revo i’ve ordered for the project is sitting in the customs, and have done so for nearly a week. Turns out you don’t have to pay customs for imported computers but you have to pay 22% VAT. I guess that’s what the customs are thinking about. Or then their department is just filled with imported computers waiting to become media centres.

If you’ve actually read this far, here’s an easter egg. Post a nice comment if you want a two weeks’ free TVkaista trial account from me!

More to follow.


[0] I never said they were essential to me :)

[1] the name, pretentious as a progressive concept double album

[2] OK, this has been disputed, but so far not actually deemed illegal.

Tags: , , , , , , ,

Bad Behavior has blocked 747 access attempts in the last 7 days.

Bear