diff options
Diffstat (limited to 'god/streams')
-rw-r--r-- | god/streams/.gitignore | 1 | ||||
-rw-r--r-- | god/streams/Makefile | 6 | ||||
-rw-r--r-- | god/streams/README | 10 | ||||
-rw-r--r-- | god/streams/README.md | 38 | ||||
-rw-r--r-- | god/streams/bin/helper/streamfind | 10 | ||||
-rw-r--r-- | god/streams/bin/helper/streamwrite | 6 | ||||
-rwxr-xr-x | god/streams/bin/mpdstreams (renamed from god/streams/mpdstreams) | 3 | ||||
-rwxr-xr-x | god/streams/bin/relaxxapi.py (renamed from god/streams/relaxxapi.py) | 0 | ||||
-rwxr-xr-x | god/streams/bin/relaxxstreams (renamed from god/streams/relaxxstreams) | 4 | ||||
-rwxr-xr-x | god/streams/bin/stream-starter (renamed from god/streams/stream-starter) | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | god/streams/bin/streams (renamed from god/streams/streams) | 2 | ||||
-rw-r--r-- | god/streams/db/direct.db | 78 | ||||
-rw-r--r-- | god/streams/db/stream.db (renamed from god/streams/stream.db) | 4 | ||||
-rw-r--r-- | god/streams/doc/relaxxplayer.api (renamed from god/streams/relaxxplayer.api) | 2 |
14 files changed, 143 insertions, 21 deletions
diff --git a/god/streams/.gitignore b/god/streams/.gitignore new file mode 100644 index 00000000..0d20b648 --- /dev/null +++ b/god/streams/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/god/streams/Makefile b/god/streams/Makefile index ab5d1429..2d0056f4 100644 --- a/god/streams/Makefile +++ b/god/streams/Makefile @@ -4,10 +4,10 @@ streams = $(shell cut -d\ -f2 stream.db) CURRDIR = ${PWD} .PHONY: all $(streams) -local: ../bin/streams +local: ../../bin/streams -../bin/streams: - ln -sf $$PWD/streams ../bin/streams +../../bin/streams: + ln -sf $$PWD/bin/streams ../../bin/streams all: $(streams) @update-rc.d groove defaults 2>/dev/null || echo "[31;1m**[31;1;5m put groove daemon in DAEMONS in /etc/rc.conf[m" diff --git a/god/streams/README b/god/streams/README deleted file mode 100644 index 82300c24..00000000 --- a/god/streams/README +++ /dev/null @@ -1,10 +0,0 @@ -streams done right - -deepmix,groovesalad and radiotux are now init.d scrips which can be -started and stopped. - -scripts are dumped into /etc/init.d and groovesalad will be set as -default via update-rc.d - -mplayer will be started in a tmux session either by creating a new -session or starting a new window inside the first existing one diff --git a/god/streams/README.md b/god/streams/README.md new file mode 100644 index 00000000..cc763ede --- /dev/null +++ b/god/streams/README.md @@ -0,0 +1,38 @@ +# streams done right(tm) + +There are numerous ways to start streams ( make your computer or some server +output streamed audio). Currently implemented are: + +# Streams Modules +1. pure streams - will start mpd on your local machine +2. mpdstreams - will use a given mpd server to start a stream +3. relaxxstreams - will contact the relaxxplayer (mpd front-end) if the direct + connection to the mpd is prohibited by firewall rules +# Database +Currently there are a number of possible streams saved in the database files +which contain of a link, a space, and the name of the stream. the database +can be found in db/ . + +Currently there are two kinds of databases: +1. streams.db - contains links to playlists of streams +2. direct.db - contains links directly to the stream, not the playlist + +to generate direct.db from a list of playlists use the helper/* scripts + +# initscripts + +the most convenient way to start streams is to use stream-starter which is +a script which, when symlinked with a name of a stream, invokes the streams +tool with its own name as parameter. + +An example: + + ln -s /krebs/god/streams/bin/stream-starter /etc/init.d/groove + /etc/init.d/groove start + +# Remarks +deepmix,groovesalad and radiotux are now init.d scrips which can be +started and stopped. + +scripts are dumped into /etc/init.d and groovesalad will be set as +default via update-rc.d diff --git a/god/streams/bin/helper/streamfind b/god/streams/bin/helper/streamfind new file mode 100644 index 00000000..32b84a4e --- /dev/null +++ b/god/streams/bin/helper/streamfind @@ -0,0 +1,10 @@ +#!/bin/sh +cat stream.db | while read url name;do + curl $url --max-time 1 2>/dev/null| sed -n 's/[fF]ile[0-9]=\(.*\)/\1/p' > "streamfinder/$name" + if [ "x`cat \"streamfinder/$name\"`" == "x" ];then + rm "streamfinder/$name" + echo "$name empty or not a stream" + else + echo "wrote $name" + fi +done diff --git a/god/streams/bin/helper/streamwrite b/god/streams/bin/helper/streamwrite new file mode 100644 index 00000000..a10fb155 --- /dev/null +++ b/god/streams/bin/helper/streamwrite @@ -0,0 +1,6 @@ +for i in `ls -1 streamfinder/`; +do + for j in `cat "$i"`;do + echo "$j $i" >> direct.db + done +done diff --git a/god/streams/mpdstreams b/god/streams/bin/mpdstreams index d9132937..a2a5f77c 100755 --- a/god/streams/mpdstreams +++ b/god/streams/bin/mpdstreams @@ -8,9 +8,8 @@ from subprocess import Popen, PIPE os.chdir(os.path.dirname(os.path.realpath(sys.argv[0]))) pidfile = "/tmp/krebs.stream.pid" host="lounge.mpd.shack" -url_file = os.environ.get("STREAM_DB", "stream.db") +url_file = os.environ.get("STREAM_DB", "../db/stream.db") urls = [] -#urls = [ url,f for (url,f) in open(url_file).readline() ] for line in open(url_file): urls.append(line.split()) #print urls diff --git a/god/streams/relaxxapi.py b/god/streams/bin/relaxxapi.py index f367caef..f367caef 100755 --- a/god/streams/relaxxapi.py +++ b/god/streams/bin/relaxxapi.py diff --git a/god/streams/relaxxstreams b/god/streams/bin/relaxxstreams index 57cfb05b..0d3813a7 100755 --- a/god/streams/relaxxstreams +++ b/god/streams/bin/relaxxstreams @@ -15,9 +15,9 @@ from subprocess import Popen, PIPE os.chdir(os.path.dirname(os.path.realpath(sys.argv[0]))) pidfile = "/tmp/krebs.stream.pid" -baseurl="http://elab.mpd.shack/" +baseurl="http://lounge.mpd.shack/" url=baseurl+"include/controller-playlist.php?action=%s&value=%s&json=%s" -url_file = os.environ.get("STREAM_DB", "direct.db") +url_file = os.environ.get("STREAM_DB", "../db/direct.db") urls = [] for line in open(url_file): diff --git a/god/streams/stream-starter b/god/streams/bin/stream-starter index 4d3a406f..4d3a406f 100755 --- a/god/streams/stream-starter +++ b/god/streams/bin/stream-starter diff --git a/god/streams/streams b/god/streams/bin/streams index 65669b2d..ea6e9a90 100644..100755 --- a/god/streams/streams +++ b/god/streams/bin/streams @@ -5,7 +5,7 @@ from subprocess import Popen, PIPE os.chdir(os.path.dirname(os.path.realpath(sys.argv[0]))) pidfile = "/tmp/krebs.stream.pid" -url_file = os.environ.get("STREAM_DB", "stream.db") +url_file = os.environ.get("STREAM_DB", "../db/stream.db") urls = [] #urls = [ url,f for (url,f) in open(url_file).readline() ] for line in open(url_file): diff --git a/god/streams/db/direct.db b/god/streams/db/direct.db new file mode 100644 index 00000000..02da4608 --- /dev/null +++ b/god/streams/db/direct.db @@ -0,0 +1,78 @@ +http://ice.somafm.com/groovesalad groove +http://ice.somafm.com/u80s underground80s +http://de.scenemusic.net/necta192.mp3 demoscene +http://radio.krautchan.net:8000/radio.mp3 radiofreieskrautchan +http://stream2.jungletrain.net:8000 jungletrain +http://streams.xenim.de/radiotux.ogg radiotux +http://localhost:8000/stream.ogg icecast +http://localhost:8000/shice.ogg shice +http://sfstream1.somafm.com:9090 480min +http://mp1.somafm.com:8080 480min +http://ice.somafm.com/480min 480min +http://shouthostdirect11.streams.bassdrive.com:8398 bassdrive +http://sanjose1.serverhostingcenter.streams.bassdrive.com:8600 bassdrive +http://arces.net.streams.bassdrive.com:8000 bassdrive +http://amsterdam1.serverhostingcenter.streams.bassdrive.com:8000 bassdrive +http://shouthostdirect10.streams.bassdrive.com:8200 bassdrive +http://shouthostdirect13.streams.bassdrive.com:8202 bassdrive +http://czech1.serverhostingcenter.streams.bassdrive.com:8200 bassdrive +http://shouthostdirect12.streams.bassdrive.com:8200 bassdrive +http://beezle.streams.bassdrive.com:8765 bassdrive +http://sfstream1.somafm.com:8384 beatblender +http://sfstream1.somafm.com:8388 beatblender +http://ice.somafm.com/beatblender beatblender +http://sfstream1.somafm.com:8040 blackrockfm +http://ice.somafm.com/brfm blackrockfm +http://sfstream1.somafm.com:7000 bootliquor +http://207.200.96.230:8014 bootliquor +http://mp1.somafm.com:9004 bootliquor +http://ice.somafm.com/bootliquor bootliquor +http://sfstream1.somafm.com:8062 cliqhop +http://mp2.somafm.com:2668 cliqhop +http://ice.somafm.com/cliqhop cliqhop +http://sfstream1.somafm.com:8700 covers +http://ice.somafm.com/covers covers +http://85.21.79.93:8040 deepmix +http://212.7.194.133:8128 deepmix +http://85.21.79.31:7128 deepmix +http://69.163.134.109:8128 deepmix +http://194.183.224.59:8128 deepmix +http://radio.cdn.deluxemusic.tv/deluxemusic.tv/radio_web/mp3 deluxe +http://sfstream1.somafm.com:8900 digitalis +http://ice.somafm.com/digitalis digitalis +http://205.234.246.42:8300 doomed +http://sfstream1.somafm.com:8300 doomed +http://ice.somafm.com/doomed doomed +http://streamer-dtc-aa01.somafm.com:80/stream/1032 dronezone +http://sfstream1.somafm.com:8014 dronezone +http://mp2.somafm.com:8002 dronezone +http://ice.somafm.com/dronezone dronezone +http://sfstream1.somafm.com:8500 illstreet +http://ice.somafm.com/illstreet illstreet +http://sfstream1.somafm.com:8090 indypop +http://ice.somafm.com/indiepop indypop +http://sfstream1.somafm.com:8800 lush +http://mp1.somafm.com:8800 lush +http://ice.somafm.com/lush lush +http://sfstream1.somafm.com:2020 missioncontrol +http://mp1.somafm.com:2020 missioncontrol +http://ice.somafm.com/missioncontrol missioncontrol +http://sfstream1.somafm.com:2200 poptron +http://ice.somafm.com/poptron poptron +http://sfstream1.somafm.com:8002 secretagent +http://mp2.somafm.com:9016 secretagent +http://ice.somafm.com/secretagent secretagent +http://sfstream1.somafm.com:8600 sonicuniverse +http://mp2.somafm.com:8600 sonicuniverse +http://ice.somafm.com/sonicuniverse sonicuniverse +http://mp2.somafm.com:5400 southbysoma +http://ice.somafm.com/sxfm southbysoma +http://sfstream1.somafm.com:8000 spacestationsoma +http://mp2.somafm.com:2666 spacestationsoma +http://ice.somafm.com/spacestation spacestationsoma +http://sfstream1.somafm.com:8850 suburbsofgoa +http://ice.somafm.com/suburbsofgoa suburbsofgoa +http://205.188.215.230:8010 tagstrip +http://ice.somafm.com/tags tagstrip +http://sfstream1.somafm.com:8880 underground80s +http://ice.somafm.com/u80s underground80s diff --git a/god/streams/stream.db b/god/streams/db/stream.db index 2e873843..1d9b51bc 100644 --- a/god/streams/stream.db +++ b/god/streams/db/stream.db @@ -7,7 +7,7 @@ http://stream2.jungletrain.net:8000 jungletrain http://playlist.tormentedradio.com/tormentedradio.pls tormented http://filebitch.shack:8000 mpd http://radio.krautchan.net:8000/radio.mp3 radiofreieskrautchan -http://nl1.streamhosting.ch/listen.pls lounge +http://nl1.streamhosting.ch:80 lounge http://deluxetelevision.com/livestreams/radio/DELUXE_RADIO.pls deluxe http://livestream.radiodarmstadt.de:8000 darmstadt http://somafm.com/sxfm.pls southbysoma @@ -26,7 +26,7 @@ http://somafm.com/bootliquor.pls bootliquor http://somafm.com/covers.pls covers http://somafm.com/illstreet.pls illstreet http://somafm.com/tags.pls tagstrip -http://somafm.com/groovesalad.pls groove +http://somafm.com/groovesalad.pls groove http://somafm.com/lush.pls lush http://somafm.com/digitalis.pls digitalis http://somafm.com/sonicuniverse.pls sonicuniverse diff --git a/god/streams/relaxxplayer.api b/god/streams/doc/relaxxplayer.api index 6e8af577..50d25af2 100644 --- a/god/streams/relaxxplayer.api +++ b/god/streams/doc/relaxxplayer.api @@ -2,7 +2,7 @@ http://lounge.mpd.shack/include/controller-playback.php?action=setCrossfade&valu http://lounge.mpd.shack/include/controller-playback.php?action=repeat&value=1&json=null http://lounge.mpd.shack/include/controller-playlist.php?action=clear&value=&json=null http://lounge.mpd.shack/include/controller-playlist.php?action=addSong&value=http%3A%2F%2F212.7.194.133%3A8128&json=null -http://lounge.mpd.shack/include/controller- playlist.php?action=getPlaylistInfo&value=0&json= +http://lounge.mpd.shack/include/controller-playlist.php?action=getPlaylistInfo&value=0&json= [{ "file": "http:\/\/212.7.194.133:8128", "Title": "Max & Dima - Sapovnela Studio: Batut", |