Outdated: The BBC iPlayer MythStreams plug-in has been discontinued. Updated: Oh no it hasnt! Ive just been busy. And its now called Myth Video On Demand Killer App! Or MythVodka. And now it plays Hulu content.
MythVodka is a plugin that plays streaming content full screen using the internal player. It supports flash/rtmp content (Hulu, BBC iPlayer) and http streaming content like Diggnation from anywhere (but I only use it for Revision 3 stuff).
This plugin is based heavily on the Movie Times plugin, which was an awesome starting point. It will become less based on this as development continues. So hats off to movie times strreaming dev guy, and apologies from ripping off your code and messing it all up.
All content is downloaded in whatever ungodly format those crazy internet TV providers care to use, then transcoded into an mpeg2 (using either mencoder or ffmpeg) which mythtv plays. Its wasteful on resources and adds an extra dependancy, but is reliable. If anyone wants to help out and get the internal player to play the streaming h264 files, then be my guest!
A video of an early version of the plugin at work is available at: http://www.youtube.com/watch?v=Z7eVgPMTa0g
Prerequisites: Mencoder (part of mplayer) Curl (in most distros) QMake MythTV Source (or so it seems)
cd into your mythplugins source dir then...
wget http://www.bewhere.co.uk/mythvodka.05.tar.gz tar xzf mythvodka.05.tar.gz cd mythvodka qmake mythvodka.pro make make install cp scripts/* /usr/local/bin/ wget http://www.linuxcentre.net/get_iplayer/get_iplayer mv get_iplayer /usr/local/bin
For Hulu content Ive included a patched version of the player, or you can get the latest version from http://sourceforge.net/projects/rtmpdump/
Check your path on mencoder, mine is in /usr/bin/mencoder
Next you have to add the menu entries for the plugin:
cd /usr/local/share/mythtv vi library.xml
Add the following lines:
<button> <type>STREAM</type> <text>Myth Vodka</text> <action>PLUGIN mythvodka</action> <depends>mythvodka</depends> </button>
Add the following lines:
<button> <type>SETTINGS_MYTHVODKA</type> <text>MythVodka Setting</text> <action>CONFIGPLUGIN mythvodka</action> <depends>mythvodka</depends> </button>
Out of the box at the very least it should be able to play Revision 3 content like diggnation, and if your in the UK then hopefully with those inctructions iPlayer will work as well. Hulu does work but as I'm outside of the US I cant test connecting directly out. It takes ages to build the Hulu content, cos theres loads of it. If you think its too slow then set the gethulu.pl command as a cronjob (gethulu.pl /var/tmp/hulu.xml) and then change the grabber path to be a command that does cat /var/tmp/hulu.xml. No more hour long waiting for the data to be catalouged.
All creadit for being smart and getting the iPlayer files goes to www.linuxcentre.net - they do the hard work, I just wrap it up into a plugin. All credit for Hulu grabbing goes to http://sourceforge.net/projects/rtmpdump/ and the XBox Media Centre guys.
In fact for the record all I've done is use the Python from XBMC for the grabber and RTMPDump, just put together the open source utilities, nothing new going on here. And not even packaged it up that well, its a pain to install, has loads of dependancies, wastes CPU and the GUI is rubbish. But still, it works. And for my efforts Ive had to put up with someone censoring me. I think he probably works for the Daily Mail. I mean look:
Why on earth create a patch to remove swearing? Yeah, I know what your saying, how can a guy who spends his spare time hacking things together to watch repeats of TV shows have a go at some other guy having the time to censor him? Well screw you! I'll spend my time how I like! Grumble. Youve angried up my blood. Well just for that Im not going to explain how you use the included PHP script on a webserver in the US to stream the content over HTTP to the rest of the world. Youll have to work it out for yourself.
Actually (before the flames start) I take my hat off to that guy, packaging up my tools is a great service and I imagine more people using this will get it working from his .debs than from my ranting instructions, so excellent work sir, consider my hat raised. I hope the secret new dependancies (some perl stuff, python, python modules) wont cause you too much difficulty.