Madsonic-howto
Madsonic (Subsonic) Music Streamer
Maintainer
Madsonic is developed and maintained by Madevil at http://madsonic.org. Madsonic is a fork of the popular Subsonic developed and maintained by Sindre Mihus at http://www.subsonic.org
Purpose
Madsonic is a free audio and video web based streamer for Linux, Windows, and Mac. There are several mobile and portable apps associated with it, and it has server transcoding capabilities allowing the client to stream as effortlessly as possible. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room. Madsonic is designed to handle very large music collections (hundreds of gigabytes), and has genre and tag capabilities. Although optimized for MP3 streaming, it works for any audio or video format that can stream over HTTP, for instance AAC and OGG. By using transcoder plug-ins, Subsonic supports on-the-fly conversion and streaming of virtually any audio format, including WMA, FLAC, APE, Musepack, WavPack and Shorten. If you have constrained bandwidth, you may set an upper limit for the bitrate of the music streams. Madsonic will then automatically resample the music to a suitable bitrate. In addition to being a streaming media server, Madsonic works very well as a local jukebox. The intuitive web interface, as well as search and index facilities, are optimized for efficient browsing through large media libraries. Madsonic also comes with an integrated Podcast receiver, with many of the same features as you find in iTunes. Based on Java technology, Madsonic runs on most platforms, including Windows, Mac, Linux and Unix variants.
Installation
Installing JAVA
Madsonic currently uses JAVA 7 or JDK 1.7
Subsonic currently uses JAVA 6 or JDK 1.6
Download JAVA 7
wget http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.rpm?AuthParam=1374499180_ba2f323c290aec0f6b07fb0dd355b80c
The download will be an rpm with the AuthPara appended to it, and must be changed for install.
DO NOT COPY CODE DIRECTLY, use as a template only.
mv jdk-7u25-linux-x64.rpm?AuthParam=1374499180_ba2f323c290aec0f6b07fb0dd355b80c jdk-7u25.rpm
Now that the file has been downloaded and renamed, install with:
yum localinstall jdk-7u25.rpm
At the time of this install, no other repositories were needed to resolve other dependancies.
java -version
Will show your current version of JAVA. If a previous version of JAVA is installed, remove before installing a newer JAVA.
Installing FFMPEG
Madsonic (Subsonic) uses FFMPEG to transcode audio and video for on-the-fly-streaming. Setup the DAG Repository as shown at http://wiki.contribs.org/Dag
yum --enablerepo=dag install ffmpeg
"As of ffmpeg.x86_64 0:0.6.5-1.el5, EPEL Repository contains a newer version of the CPPUNIT dependancy which can be obtained by including --enablerepo=epel into the installation line. EPEL Repository can be seen at http://wiki.contribs.org/Epel"
FFMPEG is installed and can be shown by
ffmpeg -version
Install Madsonic
Madsonic stable rpm can be obtained from the Madsonic Forum by
wget http://madsonic.org/download/20130718_madsonic-5.0.3560.beta4XE.rpm
yum localinstall 20130718_madsonic-5.0.3560.beta4XE.rpm
There are some steps to make the Madsonic service available as a standard service that starts during bootup
ln -s /etc/init.d/subsonic /etc/rc.d/rc0.d/k02madsonic ln -s /etc/init.d/subsonic /etc/rc.d/rc7.d/S98madsonic ln -s /etc/init.d/subsonic /etc/rc.d/rc6.d/k02madsonic ln -s /etc/init.d/subsonic /etc/rc.d/rc2.d/k02madsonic ln -s /etc/init.d/subsonic /etc/rc.d/rc1.d/k02madsonic
config set subsonic service access public config set subsonic service status enabled config set subsonic service TCPPort 4040 signal-event remoteaccess-update
Now you can control Madsonic with
service madsonic {start|stop|status|restart|force-reload}
Madsonic Tuning
You can adjust the JAVA Heap Size b editing the subsonic.sh file
nano /usr/share/subsonic/subsonic.sh
Adjust the SUBSONIC_MAX_MEMORY=x Once you have adjusteed the Heap Size, you have to adjust the Size of Memory Allocation by editing the sysconfig file
nano /etc/sysconfig/subsonic
Set the SUBSONIC_ARGS=x