Category: | Audio Related Programs |
Author/Contact Info | strredwolf |
Description: | Crude script which takes a MP3 from a site, downsamples, and
reshouts it out to an Icecast server. It'll also work with a
Shoutcast server, if you shout to the next port up. Needs MPG123 and LAME. Contact me if you want to know more about Wolfox Radio. |
#!/usr/bin/perl $|=1; # WolfSkunk ShoutForward # v0.2 by Kelly "STrRedWolf" Price # A downsampling restreamer! ### Configuration.... ## Where to pull from... ## (Example: Wolfox Radio) # $source="http://166.90.143.148:9160/"; $source="http://localhost:8000/166.90.143.148:9160/"; ## Where to shout it to. # Shouting to Icecast goes to the same server, # but to a Shoutcast server, you need to shout it to server port+1 # Example local icecast server $destsite='localhost'; $destport=8000; $pass='put up one yourself'; ## Lame Options. # Default: 16kbps Mono (from sterio) $lameopt='-b 16 -m m -a'; ### Code use IO::Socket; print "WSS> Shouting from $source\nto $destsite:$destport...\n"; $out=IO::Socket::INET->new(Proto=>'tcp', PeerAddr=> $destsite, PeerPort=> $destport) or die "$!"; $out->autoflush(1); print $out "$pass\r\n\r\n"; $code=<$out>; print $code; die "Got from server $code" if($code !~ /^OK/); print "WSS> We're in!\n"; # while(<$out>) # { # print "WSS> $_"; # tr/\r\n//d; # last if(/^$/); # } print $out "icy-name: [[[WolfFox Radio]]] Charm's Mix Party! Herm Have +n Mix-Dance-Techno/Goa\r\n"; print $out "icy-url: http://localhost:8000/\r\n"; print $out "icy-pub: 0\r\n"; print $out "icy-genre: Test\r\n"; print $out "icy-br: 20\r\n"; print $out "\r\n\r\n"; open(IN,"mpg123 -b 2048 -s $source | lame $lameopt -x -s 22.05 - - |") +; while(1) { $_=<IN>; print $out $_; } close $out; close IN; |
Back to
Code Catacombs