MediathekP – Deutsches Fernsehen mit Perl gucken

November 29th, 2010 robin Posted in Internet, Perl Comments Off on MediathekP – Deutsches Fernsehen mit Perl gucken

Diese Woche veroeffentliche ich eine Anwendung zum runterladen von Oeffentliche Deutsche Sendungen.  Eigentlich ist das einen Perl Clone von Mediathek, und das meiste Arbeit (scrapping der Seiten nach den media URLs) wird auch von dieser Projekt gemacht, und als XML stuendlich zur Verfuegung gestellt.

MediathekP habe ich ein bischen anders als das Original verarbeitet.  Das XML (meistens >20MB) tuhe ich erstmal mit XML::Twig parsen und in ein SQLite datenbank lesen.  Das kann zwar erstmal etwas laenger dauern als der reine rein-saugen und darstellen wie es der Java Geschwister macht, aber auch ein PC mit sehr wenig Speicher uebrig kann das hinbekommen, und nachdem die Daten im Datenbank sind, sind Abfragen auch viel schneller und einfacher.  Das von mir letzte Woche veroeffentlichte Modul Video::Flvstreamer verwendet flvstreamer – ein RTMP streaming client um dann die Videos lokal zu speichern.

Eine kurze Anleitung:

git clone git://github.com/robin13/mediathekp.git
cd mediathekp
./mediathek.pl --cache_dir /path/to/cache --action refresh_media
./mediathek.pl --cache_dir /path/to/cache --action list
./mediathek.pl --cache_dir /path/to/cache --target_dir /path/to/target --action download --id 123

New perl module: Video::Flvstreamer

November 22nd, 2010 robin Posted in Internet Comments Off on New perl module: Video::Flvstreamer

I’ve just published a new module: Video::Flvstreamer.

It’s a pretty simple wrapper around the command line application flvstreamer.  Flvstreamer is a handy tool to record video streams and save the video data as a video file you can play with your favourite video player.  There are many websites which have great streaming video content, but if you don’t like watching the video in your browser, or might want to watch it later, you can now use flvstreamer to capture the video.

Video::Flvstreamer can be used to integrate flvstreamer into Perl applications (here getting “Mit Offenen Karten” from Arte):

my $url = "rtmp://artestras.fcod.llnwd.net/a3903/o35/MP4:geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_04_043742-007-A_PG_HQ_DE?h=97599a8731270956b946df58bb6b6b95";
my $target = "/tmp/Mit_Offenen_Karten.flv";
my $flv = Video::Flvstreamer->new();
$flv->get( $url, $target );

I’m currently working on a Perl clone of Mediathek – a Java application for downloading German public TV shows: Video::Flvstreamer is an integral part of that application.

Video::Flvstreamer has one neat feature improvement on the command line: you can specify the number of times it should try to resume downloading.  Connections for downloading a stream can often be disconnected… Now that’s less of a bother! 🙂


Google Directions to GPS

June 16th, 2010 robin Posted in Internet, Just for Fun Comments Off on Google Directions to GPS

I have a Garmin Legend HCx and have recently mounted it on my bicycle again.  I’ve even got local maps on it, so it can even do navigation by following the road, but the options for route planning on the Garmin are somewhat limited…  While Google Maps still has some shortcomings with its directions for walking or cyclists, it has one great advantage: you can grab and drag the route as you please to quickly make a path just the way you like it.  But how can you get that route to your GPS?

Here’s how:

  • In Google Maps, get the directions you want.  Drag the path, click till you’re happy.
  • In the top-right of the screen you’ll see the “Link” link – click on that, and copy the URL to your address bar

  • Now add the string “&output=kml” to the end of the url, and hit enter

  • A download dialogue should now pop up asking you where you want to save the file maps.kml – save it
  • Now use gpsbabel to transfer the track to your GPS.  For my Garmin it works like this:
gpsbabel -i kml -t -f maps.kml -o garmin -F usb:0

And that’s it… 🙂