Streaming Music

See also llSetParcelMusicURL
== Streaming your own music into Second Life ==
It is possible to stream your own music from your computer into SL. Unless you have a large amount of bandwidth available, using your own machine as a streaming server is not really an option. With around 5 users connected you would using most of the bandwidth of a standard DSL line.
Therefore to stream your own music you would require a streaming relay provider. You would send a single stream of music (around 6-8k/s) to the streaming relay provider. The relay would then stream multiple copies of the music into SL.
The two most common streaming server systems at the moment are Shoutcast and Icecast. You can either set up the server software on one of your own servers or pay someone to host it. Due to the amount of bandwidth required for multiple streams, the price of streaming can vary. Try searching Google for a list of other available hosting solutions.
Remember that streaming copyrighted music across the internet requires a license from your relevant national licensing authority.
You can also consider creating your own radio station using published music (licensing covered) — Note: Radionomy was discontinued and absorbed into Shoutcast.
== Streaming music into Second Life from an Online Radio Station ==
It is possible to stream music from an external source (Internet Radio) into SL. Watch this Video Tutorial:
https://video.com/4242955
Text instructions:
#On your browser, go to the SHOUTcast directoryA previous version of this page used Sky.FM which is now down; using the SHOUTcast directory works, but might be a bit tricky to download the file...
#Search for a radio station that you like, and click on the download icon (not the one for playing the stream), which should open a dropdown menu
#You should get a few options to save a file. Hover on the option Winamp (.pls), right-click on the link for the option (before the menu closes!), and pick Save Target As/Save Link As...
#Save this file to your computer (it will be named something like )
#Use a text editor program to open the file.
#Look for any entry in the file that starts with "File1="; e.g., 
#Copy the URL that appears after "File1="; e.g., 
#Paste this URL into the Media URL field in the About Land > Media Tab > Media URL field
*There is also a listing of URLs for streaming here: Internet Radio Music Stream Urls
== Sending your live stream to a streaming relay server ==
There are several methods for sending your music to a streaming relay provider.
=== Options for Mac users ===
Nicecast was discontinued in 2018 and replaced with Audio Hijack, which does not include a built-in Icecast2 server.
Your best alternative is to use the multi-platform, open-source and free Mixxx, which, although designed to send a stream to a remote Shoutcast/Icecast2 server, can also be used locally on your Mac to provide direct streaming into Second Life (assuming you have the required upload bandwidth for many simultaneous streams). It's far harder to configure than Nicecast, though, as Mixxx is designed to be a full DJ deck.
If locally hosting your own streaming server is not a requirement — because you only need anything that sends your stream to some relay (be it Shoutcast/Icecast2 or any other) — then the best choice for macOS is the native application MegaSeg. There is a free demo, allegedly limited to 15 minutes.
Multi-platform apps that are also popular on the Mac include VirtualDJ, which is free for home use (which they define as "not using any additional DJing hardware" and not earning any money from DJing), and, of course, you can always use OBS Studio to stream music as well — not just video! — which is open-source and absolutely free, no matter what use you give to it.
The closest I found to Nicecast is the Japanese-made free app LadioCast (which shows the author's sense of humour!). You can install it via the App Store (meaning that it's easy to install and keep up to date), and, although it hasn't been updated since 2018, the author is quite happy to answer tech support requests as comments on his blog, and he's still doing that. I haven't tried it out, but it seems that, if you get it working, it's simple, powerful, and doesn't consume many resources, giving you the ability to pipe any sound input, mix it, and output it to several different servers (namely, Shoutcast, Icecast, and those accepting RTMP streams) — simultaneously, if you wish!
And, of course, if you're no stranger to the Unix command line, then the options listed for Linux should work as well, namely, LiquidSoap (which you will need to compile on your own) and , the latter being available as a binary executable through Homebrew.
=== Using WinAmp ===
Using the WinAmp MP3 player and the Shoutcast DSP plugin, you simply play the music you want with the encoder plugin active and configured. The encoder plugin connects to the relay and sends your live stream. The relay then streams the music onto the listeners.
Once WinAmp and the Shoutcast DSP plugin are installed:
* Run WinAmp
* Press CTRL-P to bring up the preferences menu
* In the plugins menu, click on DSP/Effect
* Select Nullsoft ShoutCast Source DSP
* Then click Close
* You should then see the ShoutCast DSP Plugin appear. 
* Click on the Encoder tab you need to set the quality of the live stream (eg. MP3 - 64Kbit Stereo)
* Click on the Output tab and enter the streaming relay information
* Then click Connect in the Output tab to connect to the relay
* Playing any music in WinAmp now will cause the music to be streamed to the relay. 
As well as playing recorded music in Winamp, it's possible to stream actual live music to a relay using the sound input/line in on your soundcard. If you are using the Line In option, you will need to set the encoder to use the soundcard's input rather than the WinAmp player.
Instruction videos for how to set up Shoutcast/WinAmp:-
http://www.howcast.com/videos/17411-How-To-Set-Up-SHOUTCAST-Streaming-With-WINAMP-For-Second-Life 
Ancient video which allegedly still works in 2023: https://www.youtube.com/watch?v=qtd0DwJZgYU
Mind you, this video from 2007 features very outdated software versions of everything. Nevertheless, WinAmp is still around, and still being maintained by the WinAmp Foundation.
=== Broadcast Using This Tool (BUTT) ===
BUTT is a still actively developed solution for recording an audio stream from your computer and sending it to streaming server(s). It does not play the audio itself and requires a separate player. Fully free to use.
=== AltaCast ===
AltaCast works like BUTT and sends an arbitrary audio stream to a streaming server. No longer actively updated, but functional and fully free to use.
=== SimpleCast ===
SimpleCast lets you play the music you want to stream via any sound application and by having the SimpleCast program active at the same time, it encodes and streams any sound playing on the computer to the relay. SimpleCast is free to download and is fully functional (although after 4 hours is displays a message about registering).
Once SimpleCast is installed:
* Run SimpleCast
* Click Config
* Under General Options, make sure your soundcard is selected
* Close Config
* Click Encoders
* Click the Plus (+) icon
* Choose the format for encoding (MP3/MP3Pro/OGG/Other)
* Set the quality for the stream (suggest 64Kbit/s Stereo)
* Click Server Details tab and enter the relay information
* Click OK and close Encoders
* Click the Play button for your encoder setup, and it should connect to the relay 
Once SimpleCast is configured and encoder is running click Start in SimpleCast and then open your music application of choice and simply play the music as you would normally. The music will then be streamed to the relay. You should see the volume levels in SimpleCast moving, if not see the troubleshooting section at the bottom.
Settings for your streaming ShoutCast plugin or SimpleCast program
The streaming relay provider will provide several bits of information which are required for the configuration of the streaming encoder (plugin or SimpleCast). These are IP Address, Port Number, Password and possibly Username (if you are using an IceCast server solution). These are simply entered into the configuration page of the ShoutCast plugin or SimpleCast.
Also within the configuration page or encoding page you will be able to set the format of the music stream (mp3/mp3pro/ogg/other) and the quality of the stream. The higher the quality the more bandwidth used and so the higer the cost. I've found 64kbit/s is perfect for mp3/ogg streams within SL.
== TroubleShooting: ==
=== I can't get any sound input/output into the encoder/plugin/program ===
After configuring the encoder plugin or program you will need to do the following:
* Open the Sound Mixer/Volume Control on your computer.
* Click Options
* Click Properties
* Select Recording within Adjust Volume for...
* Make sure either Stereo Mix, Wave Mix, What you Hear are selected (depends on your system and soundcard) and are turned up.
* You should now see that the encoder plugin/program is getting a sound level. 
=== I can hear the stream in an MP3 player, but not in my parcel! ===
The URL that works for an MP3 player may not work in Second Life. If you URL is http://example.com:8000/listen.pls you should use the URL http://example.com:8000 in Second Life.More precisely: if the file is a playlist in plain text (i.e., readable ASCII), then it should have a list of URLs (or possibly just one!), all starting with (where the X stands for the position in the file, e.g. 1, 2, 3...) — see . Sometimes you might get instead a or similar file (, which includes UTF-8 support), which is an , following similar principles — it just uses a different format for the URLs
NOTE: there should never be a "" in a music stream URLFor advanced users: this is in theory; in practice, some do. However, technically speaking this is incorrect, since audio streaming implies a different communications protocol than what is used to see web pages — but, these days, the boundary is somewhat blurred...
(Thanks to Jamie Otis for providing a great deal of this information!)
== Related Links ==
* Ready Music Streams to Play In-World
* How to stream in Second Life (guides to setting up SAM, Nicecast, Traktor and many more programs) 
== Footnotes ==