This is as days pass by, by Stuart Langridge

And this is Music and movies on the TV, written , and concerning LazyWeb, MythTV, and Linux

I have a reasonably large collection of music and movies. In my lounge, there's a big computer with a 1TB drive in it, which is where all the movies and music live. It's running MythTV, and plugged into the television. Upstairs, there's a second MythTV box, a front-end only, which I use for watching TV in bed. My laptop runs Banshee, and can see the music and films through gvfs and SSH to the main MythTV box. This all works fine. But it's annoying. I don't really like MythTV's interface much. Creating playlists in Banshee is great and easy, but those playlists don't appear in MythTV. I have to import new music twice, once into Banshee and once into Myth. I want to be able to do it all from one place, and have it all work. So: what should I do? I'm happy to change almost everything about the setup, with the one hard-and-fast requirement that every component needs to run on Ubuntu, and I'd much rather run stuff that's packaged for Ubuntu. I'd prefer to use Gnome apps and GStreamer apps where possible, but if I have to step away from that I'll think about it. I've had various thoughts about this; I don't know whether any of these are realistic, and I'd happily hear your thoughts on any of these or on anything else that I haven't mentioned:
  1. Make MythTV a UPnP server, keep Myth on the main machine and the upstairs frontend, and use a UPnP client on my laptop. Flaws with this: I don't know whether UPnP does playlists, I don't know whether you can edit a playlist over UPnP, Banshee doesn't have UPnP support afaik, Rhythmbox does but doesn't play videos.
  2. Investigate the mythtv:// source in GStreamer and build a Banshee plugin for it. Downside: I'm not very good with Mono stuff, so writing a Banshee plugin is hard. Rhythmbox would be easier (I'm fine with Python), but again, Rhythmbox doesn't do videos
  3. Use Elisa on the server instead of MythTV. Flaws: not sure how this helps the edit-playlists-on-my-laptop problem; see above issues about UPnP; Elisa doesn't actually work very well, or it didn't last time I tried it (it was very slow, and the UI is slickish but doesn't actually seem much easier than Myth); Elisa doesn't record stuff off DVB (although I could keep mythbackend running, but how would I configure it?)
  4. something else I haven't thought of
Lazyweb, tell me what to do...

Comments

Craig Box

XBMC had a much better music playing front-end than MythTV, last time I looked (a couple of years ago, but I check in every now and then). It's now packaged and available for Ubuntu (there are PPAs, I haven't included a link because I'm not entirely sure where they are, but Google knows). I expect it can consume UPNP without a problem.

sil

OK, so I go XBMC on the main machine and the upstairs machine: what do I do on my laptop? I need to be able to play music while I'm working...

Zeeshan Ali (Khattak)

Looks like you need Rygel. :) I don't export playlists yet from Tracker but then again afaik Tracker doesn't yet track rhythmbox or Banshee playlists. When it does, It shouldn't be hard to export that over UPnP through Rygel at all.

> I don’t know whether UPnP does playlists, I don’t know whether

> you can edit a playlist over UPnP,

It does allow both, it all depends on the implementation. I'll add editing of playlists in my wishlist, although I must admit I haven't given this any thoughts yet so don't know how would this all work with Tracker and both media players.

I am but one person so if you get too interested in this, I can always use another hand (brain). :)

sil

Zeeshan: hang on, you'll have to explain that. Rygel? I thought that was just a UPnP server? Will that help?

Hein-Pieter van Braam

You might want to look at mediatomb as an uPNP server. You won't be able to make playlists from your media player applications, but you CAN make them from the mediatomb web interface. All uPNP aware players will then be able to use those playlists.

I use it for my music collection and I play the playlists on various devices around the house, it works with movies and music alike.

Zeeshan Ali (Khattak)

Weird! I posted a comment here and it didn't appear (nor I was told that it awaits moderator approval).

mudfly

I don't have a solution for the videos, but what I do for my music is MPD on the server + Sonata on the client to control the playlist on demand. On the server I am also running an MPD client that randomly autoqueues a playlist when I havent added any albums to the queue. That client is called Audio MPD, http://search.cpan.org/dist/Audio-MPD/ finally I have 2 outputs, one of them is local and talks to PulseAudio, this allows music to play on the soundcard attached to the server, which for me is attached to a home stereo. The second output is to an Icecast server which I can stream from any remote PC, or across the web via http.

mudfly

sorry the randomizing client is mpd-dynamic located at the same URL as above.

Michael Croes

3. Use Elisa on the server instead of MythTV. Flaws: not sure how this helps the edit-playlists-on-my-laptop problem; see above issues about UPnP; Elisa doesn’t actually work very well, or it didn’t last time I tried it (it was very slow, and the UI is slickish but doesn’t actually seem much easier than Myth); Elisa doesn’t record stuff off DVB (although I could keep mythbackend running, but how would I configure it?)

Well you can use dvb-daemon. I doubt it's packaged anywhere at all yet, but it should work fine.

I had a similar issue you have, except for the fact that I have a V4L card, not a DVB card, so dvb-daemon won't work for me.

I do however want to have something to play stuff on my tv, and I still haven't decided whether it'll be Elisa, Boxee, XBMC or any other contenders (perhaps even banshee soon?).

sil

Michael: I'd use Banshee on the TV like a shot if the D-Bus interface was more full-featured. You can't completely control it over D-Bus (there's no ffwd/rewind, for example) and I'd have to gen up a TV interface from scratch and I'm just too busy...

Stu

Recommend XBMC too - it works as a mythtv frontend... + has a web interface too. Not sure what to recommend for the laptop tho.

Anonymous

Do you mind using MythTV for videos, if you can have a better interface for music? If so, I can suggest two possibilities: get Banshee to save your playlists to the server so MythMusic can find them, or run a different player for music on the TV and add a menu item to MythTV to launch that music player.

sil

If I knew a way of making Banshee save playlists to the Myth server I'd love to do it, but I don't know how...

sheepeatingtaz

Not sure if it covers all of what you need, but I have been using Boxee plugged into my TV for a couple of months now. For a project in Alpha, it seems incredibly stable, and it's pretty too!

Ben Francis

In my student abode we currently have a Debian server and a modded XBox (which was bought by my housemate for £20 with a remote) running XBox Media Centre plugged into the TV which works very well. I just modded my girlfriend's XBox with a newer version of XBMC and it's looking very slick!

Whilst it brings me great satisfaction running FLOSS on a Microsoft console, I've been meaning to start a project for years to create a better solution (http://cobweb.krellian.org/). I'd like to build a web based media centre with an SVG UI, initially targetted at an open platform like the Neuros OSD 2.0. I'd like to write it in Python using the Django framework which I've used both at Google and at uni.

Doing freelance consulting alongside my Masters degree I've just not had time to kick this off, but when I finish in May I'd really like to launch the Krellian Foundation (http://krellian.org) to get this and other projects off the ground.

Incidentally, I've had 100 2Gb USB sticks printed with the Krellian Webtop (http://webtop.krellian.org) logo with the intention of giving them away to developers at Lugradio Live 2009 to promote the project. Any news on LRL 2009?

Any advice/involvement?! on starting these projects from you, oh Open Source Community Guru, would of course be much appreciated!

Beard.

sil

Ben: If I were you, I'd look at making the UI be a launcher for something else -- say, Banshee, or something similar. The user never *sees* Banshee, but you never need to worry about handling media, which is hard...

On LRL 2009...news is coming.

Ben Francis

sil: What is it about handling media that you think is the hard bit? The organising it (dealing with metadata) or the playing it (dealing with codecs)?

I have in mind a client-server model with web interface(s) to the server - a 10ft graphical interface using SVG for the TV and probably an alternative XHTML interface for other clients to connect to that don't support SVG. The idea is for a set-top box to double as a media server for other web-enabled devices to connect to.

As I envisage embedded systems being the target platform I really don't want a desktop app as a dependency.

I expect the main problems being on the client side - support for SVG and streaming media.

I'm not necessarily looking for an easy option, I'm looking for a standards-based approach that uses web technologies.

Apologies for digressing from your blog post.

sil

Ben: both of those are the hard option, if you're genning something up from scratch. How are you going to play videos? How are you going to parse metadata? Write it all yourself? The GStreamer guys have been working for ages on that.

Or are you just planning on streaming whatever formats the user has into an embed element and making them deal with codec stuff?

Ben Francis

sil: For the media centre itself, I'm hoping to have a client using GStreamer with WebKit - something I'm already integrating into Webtop (http://webtop.krellian.org). Perhaps GStreamer can also be utilised by the server part of the media centre to read metadata to build a database.

The video would indeed be in an tag or even a tag, preferably embedded in SVG. The obvious problem with this is browser support. I'm hoping it will be possible to get around this problem by using HTTP's content negotiation features to negotiate a format supported by both client and server.

Ben Francis

(oops, wordpress ate my tags. Should read: The video would indeed be in an [embed] tag or even an HTML5 [video] tag)

Frank Scholz

There are - as always - several solutions for this problem. All immanent is the use of UPnP as a generic communications protocol between media applications.

1) the UPnP A/V MediaServer or ContentDirectory service spec does support playlists, including creating and modifying it from a client. Caveat there, the server and client have to support that.

2) you could use Totem and the Coherence UPnP plugin there to access videos (http://coherence.beebits.net/wiki/Totem)

3) we are in the process of adding the vanished UPnP support to Elisa again, so the combination of Elisa/Coherence and in the beginning(+) Coherence powered clients will allow that

(+) I don't know of any other UPnP client out there atm that would allow you creating playlists over UPnP.

4) - you could use Coherence together with the DVBDaemon (http://coherence.beebits.net/wiki/DVBDaemon)

- you could write a (Python) backend for Coherence that connects to MythTV

- ...

sil

Ben: given that there is *no* format supported cross-browser out-of-the-box, whether you're using HTML5 video or not, are you proposing to transcode on the fly (in which case you have a faster machine than I do), or store all your video in multiple formats?

Frank: I could use Totem, but then...how do I browse my list of movies and music? Failing that, if I'm using Elisa on the TV that's cool, but as you note then what do I use on my laptop? :(

Ben Francis

sil: That is a very good point. It would be ridiculous to store multiple copies of an entire video collection or to expect an embedded device to transcode on the fly.

As we don't live in a world where all web browsers support a common multimedia format I guess the priority would have to be to serve multimedia in a format/formats the media centre itself supported and only target certain clients which also supported that format. This does massively reduce the benefits of building a web based solution in the first place, but there's not much else anyone can do.

Most of my friends' digital video collections consist mainly of .avi files, but have a large range of audio and video codecs inside the AVI container. I suppose you could feasibly transcode everything to Ogg Theora (or another single open format) when it's saved onto the device and then zealously advocate that format...

sil

Ben: "This does massively reduce the benefits of building a web based solution" -- indeed. This is why I plan to use Banshee or something on the desktop and just have an SVG UI to start it up :)

Frank Scholz

sil: "how do I browse my list of movies and music? " - with the UPnP plugin I wrote for Totem? With elisa on the laptop?

Do I understand you right?

There are now plugins for Rhythmbox, Totem, EOG and Nautilus to enable interaction with other UPnP devices. Elisa has an internal client based on Coherence. Integration with KDE applications is on the way. And a 'to-be-written- Banshee plugin could easily communicate with Coherence via D-Bus to get the same functionality as Totem.

sil

Frank: right, OK, I'm starting to get a handle on this. So, in a world where all software I wanted already existed (sounds like most of it does!), I'd have:

All music and movies on the main machine

Elisa on the main machine, reading the filesystem and exporting its contents over UPnP

Elisa on the machine upstairs, as a UPnP client for the main machine

Banshee on the laptop, as a UPnP client for the main machine, and I'd create and edit playlists from here, but they'd be playlists created over UPnP, not playlists saved locally

Does that sound right? I'm happy to hook up on IRC or similar to talk in detail :)

Frank Scholz

hmm, last comment swallowed by the spam filter? maybe too many links?

I'm dev @ irc://irc.freenode.net/#coherence - looking forward to see you there.

This website belongs to Stuart Langridge. Contact details are available. Don't eat yellow snow. Valid HTML5, at least in theory, except for the bits that aren't because I'm that futuristic that I'm ahead of the spec, oh yes. HTML5 help from Bruce Lawson, among others. Fonts from the superb FontSquirrel. End.