Streaming Music

From Second Life Wiki
Jump to navigation Jump to search

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) by going to radionomy.com/create. You can upload your own tracks or use the 150K tracks already on the Radionomy platform. You can create a 24/7 stream with unlimited listeners at no cost here [radionomy.com/create] Create Your Own Radio Stream You can also upload your own personal messages to play in stream, too. This is personal radio to share. Once you have created your station the Music URL port is available and the direct stream is listen.radionomy.com/stationnameNote: 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:

  1. On your browser, go to the SHOUTcast directory[1]
  2. 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
  3. 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...
  4. Save this file to your computer (it will be named something like tunein-station.pls)
  5. Use a text editor program to open the file.
  6. Look for any entry in the file that starts with "File1="; e.g., File1=http://160.79.128.61:7724
  7. Copy the URL that appears after "File1="; e.g., http://160.79.128.61:7724
  8. Paste this URL into the Media URL field in the About Land > Media Tab > Media URL field

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

Check out Nicecast for a way to set up your own music streams in OS X.[2]

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 ffmpeg, 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 [dead link]

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.[3]

NOTE: there should never be a "www" in a music stream URL[4]

(Thanks to Jamie Otis for providing a great deal of this information!)

Related Links

Footnotes

  1. A 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 .pls file...
  2. Nicecast was discontinued in 2018 and replaced with Audio Hijack, which does not include a built-in Icecast2 server.
  3. More precisely: if the listen.pls 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 FileX= (where the X stands for the position in the file, e.g. 1, 2, 3...) — see "Wikipedia logo"PLS file format. Sometimes you might get instead a listen.m3u or similar file (*.m3u8, which includes UTF-8 support), which is an "Wikipedia logo"even more popular format, following similar principles — it just uses a different format for the URLs
  4. For 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...