Nieuws

Frank had het eerder over het feit dat deredactie.be een vreselijk lelijke website is, met een hatelijke interface die op niks trekt. Dus hield hij zich bezig met een andere website waarop je 'gewoon' het journaal kunt zien. Zijn blog post vertelt het belangrijkste: atom-feed parsen, die verwijst naar andere atom-feeds, die verwijzen naar flv, mp4, en wmv-bestanden in verschillende kwaliteit, enzovoort. Hij maakt daar RSS-bestanden van, en daar wordt dan nog een web-based FLV player rond gezet.

Heel fijn allemaal, maar dat werkt niet op mijn laptop (een PowerPC G4 die Linux draait), en kan voor zover ik weet ook niet full-screen afgespeeld worden.

Dus dacht ik, laat ons het eens zelf bekijken.

#!/usr/bin/perl

use strict;
use warnings;

my @url;
my $i;

open MAINSTREAM, "wget -q -O - 'http://www.deredactie.be/cm/de.redactie/mediajournaal?mode=atom' |";

while(<MAINSTREAM>) {
	if(/link rel="self".*title="([^"]*)".*href="(http:.*mode=atom)/) {
		my @l = ($1, $2);
		push @url, \@l;
	}
}
close MAINSTREAM;
my @l = ("newswire", "http://www.deredactie.be/cm/de.redactie/newswire?mode=atom");
push @url, \@l;

print "Programmas:\n";
for ($i=0;$i<=$#url; $i++) {
	print "$i. " . $url[$i][0] . "\n";
}
print "Welk programma? ";
my $prog = <>;
chomp $prog;
if ($prog =~ /\D/) {
	die "Eh, numbers please!";
}
if (!defined($url[$prog])) {
	die "Eh?!";
}

open PROGSTREAM, "wget -q -O - '" . $url[$prog][1] . "' |";
open OUTPUT, "> " . $url[$prog][0] . ".m3u";
while(<PROGSTREAM>) {
	if(/(http:.*h263hi.mp4)/) { print OUTPUT $1 . "\n"; }
}
exec("vlc -f --video-on-top --playlist '" . $url[$prog][0] . "'.m3u");

Et voila.

Duurt een halve seconde tussen filmpjes door, maar dat vind ik zelf geen probleem. En zo ben ik tenminste van die vreselijke webbrowser af.