Never be caught rolling without your tunes again!
StreamRoller is a web-server for desktops that serves your music collection to any web browser that supports mp3 HTML5 audio (Chrome, IE9, and Safari, at the time of writing). Transcoding from FLAC to vorbis & mp3 is supported. Additional transcoding options may be added in the future.
A client is in development for android, and is planned for iOS and Windows phone. The server should run on any platform that supports Java, although only Linux and Windows have been tested.
The StreamRoller server is powered by Sinatra on top of JRuby.
StreamRoller is not yet as user-friendly as it is intended to be, however setting it up should be fairly straight forward.
- Rename
config.yml.example
toconfig.yml
- Open
config.yml
in a text-editor (Notepad, nano) - Change
location:
to point to your music collection. - Optionally, uncomment the
password:
field and change the value to set a password. - Run streamroller.jar
StreamRoller will require a port to be opened on your firewall. By default, StreamRoller will attempt to use HTTP traffic over TCP port 4567 for all communications.
In order to transcode, StreamRoller requires external programs. These can be provided by the system, or placed inside the tools/
directory of the distribution.
- FLAC to mp3 support requires
flac
andlame
- FLAC to Vorbis support requires
oggenc
oroggenc2
- Install a JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Download and install JRuby.
- Install bundler:
jgem install bundler
- Start the build process:
jruby -S rake build
- Server: Does not currently handle Unicode file names. This seems to be an issue with JRuby's Ruby 1.8 implementation. (ex. M.C.D.EAD - ? ??????? will not show up)
- Client: Playlists are buggy. This will be resolved when the web UI is overhauled.
- Server: The library must manually be reset by either setting
skip_discovery: false
or deleting library.sqlite in order to detect new music.