summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetter Reinholdtsen <pere@hungry.com>2009-10-22 20:28:25 +0000
committerPetter Reinholdtsen <pere@hungry.com>2009-10-22 20:28:25 +0000
commitaa62f134e309ed861e376f59990e49bb239c9fe1 (patch)
tree82ca43b18d6f2190cdfaeea780463dd940d19275
parentfa6dd8e8f64d00996ec210963fa19e76d57664bc (diff)
Add more dependencies.
-rwxr-xr-xfrikanalen/bin/scheduler34
1 files changed, 26 insertions, 8 deletions
diff --git a/frikanalen/bin/scheduler b/frikanalen/bin/scheduler
index fb43b68..301e5bf 100755
--- a/frikanalen/bin/scheduler
+++ b/frikanalen/bin/scheduler
@@ -14,6 +14,12 @@
# smilutils
# ffmpeg2theora
# libevent-perl
+# libxml-simple-perl
+# libtimedate-perl
+# libwww-perl
+# vlc
+# libsoap-lite-perl
+# ttf-liberation
# TrueType font name/path used by GD to draw text
my $gdfont = "/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf";
@@ -37,9 +43,15 @@ use SOAP::Lite on_action => sub {sprintf '%s/%s', @_}, ;
my $vlc = vlc_start();
-my $listref = get_epglist();
+# Stop vlc on exit
+$Event::DIED = sub { my $pid = $vlc->{pid};
+ print "Killing $pid\n"; kill $pid; };
+
+#$Event::DebugLevel = 2;
my @events = ();
+
+my $listref = get_epglist();
for my $url (@{$listref}) {
# print "Loading '$url'\n";
my $ua = new LWP::UserAgent;
@@ -86,12 +98,6 @@ for my $url (@{$listref}) {
}
}
-#$Event::DebugLevel = 2;
-
-# Stop vlc on exit
-$Event::DIED = sub { my $pid = $vlc->{pid};
- print "Killing $pid\n"; kill $pid; };
-
@events = sort start_order @events;
my $seq = 0;
@@ -295,7 +301,19 @@ sub vlc_start {
return undef;
} elsif (0 == $pid){
# system("vlc", "--extraintf", "telnet", "--telnet-password", "secret");
- exec("vlc", "--extraintf", "http");
+ my @vlcargs;
+ push(@vlcargs, "--extraintf", "http");
+
+ # Icecast server
+ my $icecastserver = "voip.nuug.no:8000";
+ my $icecastpasswd = "secret";
+
+ # Only work if 'vlc -l | grep access_output_shout' list
+ # support for streaming to an icecast server.
+ push(@vlcargs, "--sout='#duplicate{dst=display,dst=\"transcode{vcodec=theo,vb=256,acodec=vorb,ab=64,vfilter=canvas{width=320,height=240,canvas-aspect=4:3}}:standard{mux=ogg,dst=source:$icecastpasswd\@$icecastserver/live.ogv,access=shout}\"}'");
+
+ print "starting VLC: vlc ". join(" ", @vlcargs) . "\n";
+ exec("vlc", @vlcargs);
exit 0;
} else {
$vlc->{url} = "http://localhost:8080/";