________ ________ ________
2018-10-23 / \/ \/ / \
/ __/ /_ _/
Alright lads, let me drop some awkward / _/ / /
drunkish science on you with Cat's bona fide \_______/_\___/____/\___/____/_
aNONradio OpenMic ezstream scientific / \/ \/ / \
technique. I make no promises about how well / _/ /_ _/
it works but it hasn't failed me yet except /- / _/ /
that one time it, quite spectacularly, did \________/\________/\___/____/
but the less said about that the better
amirite?
First thing's first you need to get setup! On Debian, the One True
Operating System(tm), you can do this by entering:
apt-get install ezstream
You'll need to do this as root or sudoing it or whatever and hitting enter.
Answer yes to anything it asks, who cares, fuck it.
Once ezstream is installed you need three things: at least one mp3, a
playlist to tell ezstream where the mp3 is and an XML file to tell ezstream
what to do with the playlist.
The below is my methodology but once you see how it works you can figure
out how to work it best for you.
A bit of background on why I do it like I do: during the week, the OpenMic
blocks fall right in the middle of the work day for me so it's not possible
for me to stream from the rig I use for LOW WIRE or from Butt or anything like
that so I set up ezstream on baud.baby to just punch out a couple tunes when I
had the chance. This itself posed two new problems, none of my music is on
baud.baby and it's not appropriate to just throw everything I like into a
playlist because OpenMic is shared with other DJs. This method is how I've
found to work around this, it's clumsy but my best work is clumsy so let's
proceed.
Firstly let's set up the XML. This has all the info ezstream needs to tell
it what to play, to where and how to describe it. Mine is saved in openmic/ as
openmic.xml and looks thusly:
http://anonradio.net:8010/openmic
openmic
s8pF3mrKgms
MP3
/home/cat/openmic/playlist.m3u
1
aNONradio OpenMic
http://www.anonradio.net
Unix
Official underground radio of the SDF Public
Access Unix System
192
2
44100
0
It should be mostly self-explanatory but two things to note: first the .m3u
is the playlist we're going to generate in step three so make sure you
remember where you're going to put it and what it's called. You can always
edit the .XML if you need to change it but I found it was really cumbersome to
edit the XML each time I had a new playlist so my tip is make it really
generic and just mess with the playlist to change files. If you have a
playlist you like and want to keep you can always make a copy into a different
file.
The other thing to note is the setting, if that's set to 0
ezstream will just play the playlist until you exit it which is funny but not
cricket.
Secondly let's add our mp3. On baud.baby I have an ezstream/ directory
where I put all the mp3s I'd like to play, as well as the playlist and XML
files, there's a subdirectory in there called stream/ which is the files I
want to send to the stream. So let's say for example in ezstream/ I have Simon
Boswell's excellent "Diskette" from the Hackers soundtrack saved as
diskette.mp3 and I want to play it on OpenMic. I move the file to stream/ with
the command:
rm stream/* && mv diskette.mp3 stream/
I use rm at the start to remove whatever files are in the directory
already, otherwise they'll be added to the playlist too in the next step. You
have to exercise a bit of discipline with this to ensure you're not leaving
files in stream/ that you haven't streamed yet but it's easy to maintain, if
you're worried about it then as an alternative you could probably use mv
stream/* ~/openmic/ && whatever at the start so anything in stream/ is dumped
back in to openmic/ before the new file is moved in. Note: all of these
commands and the below assume you're in the openmic/ directory - I'm sure you
could do it from most anywhere but your CLI-fu might need to be better than
mine.
Now we've got our file where we want it, next step is to populate the
playlist. I do this with the following command, again from the openmic/
directory:
ls -d -1 stream/* | shuf > playlist.m3u && cat playlist.m3u
The -d argument on ls makes it include the directory name and the -1 makes
only one item print per line, that gives us a list of all our files in /stream
which is then piped to shuf to randomize the list, you can omit this bit, I
just do it to mix things up a bit, then the greater-than symbol redirects the
output of shuf into the playlist.m3u file and finally cat playlist.m3u just
prints the new, shuffled playlist for a quick eyes-on to make sure everything
looks ok.
Still with me?
The last step is two parts, part one is get your ass on com and into the
anonradio room or onto IRC's #aNONradio room and announce you're going to
stream or coordinate with other streamers. Technically optional but you've
gotta treat the other streamers with respect and not be an asshat, we're all
there just to share and have a good time.
Part the second is, when you're ready to stream you blast your playlist out
with the command:
ezstream -c openmic.xml
Again, I'm doing this from the openmic/ directory. You should see it say
it's connected to the server we put in in the XML and that it's
streaming your file. If it gives you an error saying that it could not connect
and you're sure the XML is correct then it could be someone is already
streaming.
But you'd know that.
Because you're in com or the IRC channel, right?
So that's the long and short of it, configure my shit, dump files in a
directory, move what I want to play into the stream/ directory, spit out a
playlist and stream it to the OpenMic mountpoint. Easy peasy for me-sy and
people stronger than me will no doubt be able to simplify it even further,
I've fiddled with stringing it all together like rm && mv && ls && ezstream
all in one line but it got a bit cumbersome when using a lagged to heck web-
SSH client from work. You could also look at aliasing some stuff, to make it
easier but I haven't had the time to play with that yet.
Hope that helps and hope to see some new faces on OpenMic! Cat out.
EOF