eg-blog

Feed Rss

Subsonic 4.8 – 033 Synology Package

05.15.2013, Allgemein, Download / Release Notes, Subsonic on Synology DS, by .

There it is: The new package.

After testing, scripting, reinstalling, testing again dozens of times.

At first the little things:

  • New icons for DSM 4.2
  • Minisub is now called Jamstash, it got a new icon as well
  • Jamstash now opens in an DSM internal window (you can still access it by adding /mini to your Subsonic url

The technical changes:

After hours and countless fails I’ve given up my „build your own ffmpeg“ project. Which means this package comes without any transcoding features.

However there is a workaround thanks to Timo from timokisig.de.

Patters, the developer of the Java and Serviio packages always brings his Serviio packages with his own Synology ffmeg binaries, so I am now using his compilations. If you have Serviio installed already you can just update Subsonic and it will use Serviios binaries automatically. For those who haven’t but want to use transcoding:

Install Serviio first (it doesn’t have to be running).

Afterwards access your DS via SSH and type:

ln -s /var/packages/Serviio/target/bin/ffmpeg /var/packages/Subsonic/transcode/ffmpeg

To make it work smoothly you have to change the Subsonic transcoding line.

In Subsonic go to Settings->transcoding and look for the downsampling command. change it to:

ffmpeg -i %s -ab %bk -v 0 -vn -f mp3 -

 

Unfortunately there are still some bugs:

  • Hibernating still doesn’t work (it only works with Madsonic but I don’t have a clue why)
  • Subsonic may crash during the update process. I recommend to stop Subsonic before updating and wait at least a minute to start the update. Never stop Subsonic while it is scanning its library!

I really hope this one works better than the last packages.

 

scripts:

installer.sh

#!/bin/sh

#--------Subsonic installer script
#--------package maintained at eg-blog.de

#SYNO_CPU_ARCH="`uname -m`"
#NATIVE_BINS_FILE="serviio-native-${SYNO_CPU_ARCH}.tgz"  

source /etc/profile
TEMP_FOLDER="`find / -maxdepth 2 -name '@tmp' | head -n 1`"
PUBLIC_FOLDER="`cat /usr/syno/etc/smb.conf | sed -r '/\/public$/!d;s/^.*path=(\/volume[0-9]{1,4}\/public).*$/\1/'`"

PID=""
subsonic_get_pid ()
{
	PID=`ps | grep java | grep subsonic | head -n 1 | awk '{print $1}'`
	echo "$(date +%d.%m.%y_%H:%M:%S): looking for PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
}


preinst ()
{
	source /etc/profile

	########################################
	#check if Java is installed

	if [ -z ${JAVA_HOME} ]; then
		echo "Java is not installed or not properly configured. JAVA_HOME is not defined. " > $SYNOPKG_TEMP_LOGFILE
			echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Download and install the Java Synology package from http://wp.me/pVshC-z5" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	fi

	if [ ! -f ${JAVA_HOME}/bin/java ]; then
		echo "Java is not installed or not properly configured. The Java binary could not be located. " > $SYNOPKG_TEMP_LOGFILE
			echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Download and install the Java Synology package from http://wp.me/pVshC-z5" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	else
		echo "$(date +%d.%m.%y_%H:%M:%S): found Java in ${JAVA_HOME}" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi
	
	#########################################
	#check if Subsonic folder is in public folder wehn restore is selected
	if [ ! -z ${install_restore} ]; then
		

		if [ ! -d $PUBLIC_FOLDER/Subsonic ]; then
			echo "Can't find a folder named 'Subsonic' in your public folder. " > $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Can't find a folder named 'Subsonic' in your public folder. " >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "Please check your public folder and make sure there is a folder called Subsonic (with Capital S) in it. Or select 'No' if you don't want to restore anything and just install Subsonic normally" >> $SYNOPKG_TEMP_LOGFILE	
			echo "$(date +%d.%m.%y_%H:%M:%S): Please check your public folder and make sure there is a folder called Subsonic (with Capital S) in it. Or select 'No' if you don't want to restore anything and just install Subsonic normally" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			exit 1
		fi
	fi

	#########################################
	#is the User Home service enabled?
	UH_SERVICE=maybe
	synouser --add userhometest Testing123 "User Home test user" 0 "" ""
	UHT_HOMEDIR=`cat /etc/passwd | sed -r '/User Home test user/!d;s/^.*:User Home test user:(.*):.*$/\1/'`
	if echo $UHT_HOMEDIR | grep '/var/services/homes/' > /dev/null; then
		if [ ! -d $UHT_HOMEDIR ]; then
			UH_SERVICE=false
		fi
	fi
	synouser --del userhometest
	if [ ${UH_SERVICE} == "false" ]; then
		echo "The User Home service is not enabled. Please enable this feature in the User control panel in DSM." >> $SYNOPKG_TEMP_LOGFILE
		echo "The User Home service is not enabled. Please enable this feature in the User control panel in DSM." >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	else 
		echo "$(date +%d.%m.%y_%H:%M:%S): User home is enabled" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi
	
	exit 0
}


postinst ()
{
	#create subsonic daemon user
	synouser --add subsonic `${SYNOPKG_PKGDEST}/passgen 1 20` "Subsonic daemon user" 0 "" ""
	echo "$(date +%d.%m.%y_%H:%M:%S): create subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	#determine the subsonic user homedir and save that variable in the user's profile
	#this is needed because librtmp needs to write a file called ~/.swfinfo
	#and new users seem to inherit a HOME value of /root which they have no permissions for
	SUBSONIC_HOMEDIR=`cat /etc/passwd | sed -r '/Subsonic daemon user/!d;s/^.*:Subsonic daemon user:(.*):.*$/\1/'`
	su - subsonic -s /bin/sh -c "echo export HOME=${SUBSONIC_HOMEDIR} >> .profile"

	
	#use the ffmpeg from serviio if available
        mkdir ${SYNOPKG_PKGDEST}/transcode
	if [ -f /var/packages/Serviio/target/bin/ffmpeg ]; then
		ln -s /var/packages/Serviio/target/bin/ffmpeg ${SYNOPKG_PKGDEST}/transcode/ffmpeg
		echo "$(date +%d.%m.%y_%H:%M:%S): Linked ffmpeg file to Serviio" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi
	
	#########################################
	##start Subsonic
	#fix file permissions
	chmod +x ${SYNOPKG_PKGDEST}/subsonic.sh
	chmod 775 ${SYNOPKG_PKGDEST}/subsonic-booter-jar-with-dependencies.jar
	chmod 775 ${SYNOPKG_PKGDEST}/subsonic.war
	chown -R subsonic:users ${SYNOPKG_PKGDEST}
	echo "$(date +%d.%m.%y_%H:%M:%S): start Subsonic for first initialisation" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	#set up symlink for the DSM GUI
	ln -s ${SYNOPKG_PKGDEST}/ /usr/syno/synoman/webman/3rdparty/Subsonic
			
	#create custom temp folder so temp files can be bigger
	if [ ! -d ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic ]; then
		mkdir ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
		chown -R subsonic ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
	fi
	#create symlink to the created directory
	if [ ! -L /tmp/subsonic ]; then
		ln -s ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic /tmp/
	fi


	#start subsonic as subsonic user
	su - subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh

	sleep 10
	
	subsonic_get_pid
	if [ ! -z $PID ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): started Subsonic successfully. PID is: $PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	else
		echo "Error: Can not start Subsonic during install" >> $SYNOPKG_TEMP_LOGFILE
		echo "$(date +%d.%m.%y_%H:%M:%S): Error: Can not start Subsonic during install" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	fi

	#give it some time to start up
	sleep 90

	#stop subsonic

	kill $PID
	sleep 5
	echo "$(date +%d.%m.%y_%H:%M:%S): Stopped Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	
	#Jamstash Update
	if [ -d /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/ ]; then 
		rm -r /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/*
		cp -r ${SYNOPKG_PKGDEST}/Jamstash/* /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/
		echo "$(date +%d.%m.%y_%H:%M:%S): updated Jamstash" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	else
		echo "$(date +%d.%m.%y_%H:%M:%S): Error: Can't find the Jamstash directory -> Jamstash will not be updated " >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		echo "Error: Can't find the Jamstash directory -> Jamstash will not be updated " >> ${SYNOPKG_PKGDEST}/subsonic_package.log >> $SYNOPKG_TEMP_LOGFILE	
		exit 1
	fi
	rm -r ${SYNOPKG_PKGDEST}/Jamstash
	
	#Jamstash Link
	echo "$(date +%d.%m.%y_%H:%M:%S): create Jamstash DSM link" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	if [ -d ${SYNOPKG_PKGDEST}/Jamstashlink/ ]; then
		cp ${SYNOPKG_PKGDEST}/Jamstashlink/* /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/
	fi
	rm -r ${SYNOPKG_PKGDEST}/Jamstashlink
	####################################

	#delete symlink
	rm /usr/syno/synoman/webman/3rdparty/Subsonic
	#delete temp files
	if [ -d ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic ]; then
		rm -r ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
	fi


	#check Podcast folder for right permissions
	if [ -d /volume1/music/Podcast ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): reset permissions of Podcast folder (subsonic user has new uid)" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		chown -R admin:users /volume1/music/Podcast
		chmod -R 775 /volume1/music/Podcast	
	fi

	#########################################
	#install user backup from public folder

	if [ ! -z ${install_restore} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): restore previously made backup fron public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		#copy files
		cp -r ${PUBLIC_FOLDER}/Subsonic/* ${SYNOPKG_PKGDEST}/

		#new files might not be owned by subsonic user
		chown -R subsonic ${SYNOPKG_PKGDEST}/
			
		#make the Subsonic start script executable
		chmod +x ${SYNOPKG_PKGDEST}/subsonic.sh 
	fi
	echo "$(date +%d.%m.%y_%H:%M:%S): ----installation complete----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	exit 0
}


preuninst ()
{
	##############################################
	#stop Subsonic if it is running

	subsonic_get_pid
	if [ -z $PID ]; then
		sleep 1
	else
		echo "$(date +%d.%m.%y_%H:%M:%S): stopping Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		kill $PID
		sleep 5
		if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic ]; then
			rm /usr/syno/synoman/webman/3rdparty/Subsonic
		fi

		if [ -d ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic ]; then
			rm -r ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
		fi
	fi

	##############################################
	# create a backup in public folder in public folder
	if [ ! -z ${uninstall_backup} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): Create a backup of Subsonic in public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		
		if [ ! -d ${PUBLIC_FOLDER}/Subsonic ]; then
			mkdir ${PUBLIC_FOLDER}/Subsonic
		fi
		
		cp ${SYNOPKG_PKGDEST}/subsonic.properties *.index ${PUBLIC_FOLDER}/Subsonic
		cp -r ${SYNOPKG_PKGDEST}/db ${PUBLIC_FOLDER}/Subsonic
		cp -r ${SYNOPKG_PKGDEST}/lucene ${PUBLIC_FOLDER}/Subsonic
		cp -r ${SYNOPKG_PKGDEST}/thumbs ${PUBLIC_FOLDER}/Subsonic
	fi
	
	exit 0
}


postuninst ()
{
	synouser --del subsonic

	#remove DSM icon symlink
	if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic
	fi

	#remove temp symlink
	rm /tmp/subsonic

	exit 0
}


preupgrade ()
{
	###########################
	#stop Subsonic if it is runing
	
	subsonic_get_pid
	if [ ! -z $PID ]; then 
		echo "$(date +%d.%m.%y_%H:%M:%S): stopping subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		kill $PID
		sleep 5
	fi

	if [ -d ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic ]; then
		rm -r ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
	fi

	###########################
	#backup subsonic.properties and db Folder

	if [ -z ${install_restore} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): create backup of Subsonic db in temporary backup dir" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		if [ ! -d ${SYNOPKG_PKGDEST}/../subsonic_update_backup ]; then
			mkdir ${SYNOPKG_PKGDEST}/../subsonic_update_backup
			cp ${SYNOPKG_PKGDEST}/subsonic.properties ${SYNOPKG_PKGDEST}*.index ${SYNOPKG_PKGDEST}/../subsonic_update_backup/
			cp -r ${SYNOPKG_PKGDEST}/db ${SYNOPKG_PKGDEST}/../subsonic_update_backup
			cp -r ${SYNOPKG_PKGDEST}/lucene ${SYNOPKG_PKGDEST}/../subsonic_update_backup
			cp -r ${SYNOPKG_PKGDEST}/thumbs ${SYNOPKG_PKGDEST}/../subsonic_update_backup
		fi
	fi

	exit 0
}


postupgrade ()
{

	###############################
	#restore subsonic db index and settings
	if [ ! -z ${install_update} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): restore from temporary backup dir" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		cp -r ${SYNOPKG_PKGDEST}/../subsonic_update_backup/* ${SYNOPKG_PKGDEST}/
	fi	

	#remove backup folder
	#remove the next lines to keep a backup in the @appstore folder
	if [ -d ${SYNOPKG_PKGDEST}/../subsonic_update_backup ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): remove temporary backup dir" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		rm -r ${SYNOPKG_PKGDEST}/../subsonic_update_backup
	fi


	#subsonic may not own all new files
	chown -R subsonic ${SYNOPKG_PKGDEST}/

	#make the Subsonic start script executable
	chmod +x ${SYNOPKG_PKGDEST}/subsonic.sh 

	echo "$(date +%d.%m.%y_%H:%M:%S): ----update complete----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	exit 0
}

start-stop-status

 
#!/bin/sh

#--------Subsonic start-stop-status script
#--------package maintained at eg-blog.de

##############################################
#function to get the process id of Subsonic
PID=""
subsonic_get_pid ()
{
	PID=`ps | grep java | grep subsonic | head -n 1 | awk '{print $1}'`
	#echo "$(date +%d.%m.%y_%H:%M:%S): looking for PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
}
get_time()
{
	TIME=$(date +%d.%m.%y_%H:%M:%S)
}

case "$1" in
   start)
	  ###---copied from patters start-stop-status.sh of his crashplan proe package---
	  DAEMON_ID="${SYNOPKG_PKGNAME} daemon user"
	  DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"
    
	  #set the current timezone for Java so that log timestamps are accurate
	  #we need to use the modern timezone names so that Java can figure out DST 
	  SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'`
	  SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"`
	  grep "^export TZ" ${DAEMON_HOME}/.profile > /dev/null \
	  && sed -i "s%^export TZ=.*$%export TZ='${SYNO_TZ}'%" ${DAEMON_HOME}/.profile \
	  ###---end of copy---------------------------------------------------------------
	  
	  #set up symlinks for the DSM GUI icon
	  #Subsonic main
	  if [ -d /usr/syno/synoman/webman/3rdparty ]; then
		ln -s ${SYNOPKG_PKGDEST}/ /usr/syno/synoman/webman/3rdparty/Subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Subsonic DSM link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		
		#Jamstash
		if [ -d ${SYNOPKG_PKGDEST}/jetty/*/webapp/mini ]; then
			ln -s ${SYNOPKG_PKGDEST}/jetty/*/webapp/mini /usr/syno/synoman/webman/3rdparty/Subsonic_Jamstash
			echo "$(date +%d.%m.%y_%H:%M:%S): Jamstash DSM link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		fi
	else 
		echo "$(date +%d.%m.%y_%H:%M:%S) : Error: Directory for Subsonic DSM link was not found" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
      #create custom temp folder so temp files can be bigger
	  if [ ! -d ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic ]; then
		mkdir ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
		chown -R subsonic ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp directory created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  #create symlink to the created directory
	  if [ ! -L /tmp/subsonic ]; then
		ln -s ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic /tmp/
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp directory link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  # starting subsonic as subsonic daemon user
	  echo "$(date +%d.%m.%y_%H:%M:%S): starting Subsonic as subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
      su - subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh
      sleep 10
	  echo "$(date +%d.%m.%y_%H:%M:%S): started Subsonic as subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  subsonic_get_pid
	  if [ ! -z $PID ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): started Subsonic successfully. PID is: $PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		echo "$(date +%d.%m.%y_%H:%M:%S): ----subsonic is running----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  else
		echo "$(date +%d.%m.%y_%H:%M:%S): Error: Can not start Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	  fi
	   
	  exit 0
   ;;
   stop)
      #stop subsonic
	  subsonic_get_pid
      kill $PID
	  echo "$(date +%d.%m.%y_%H:%M:%S) : killed Subsonic PID: $PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
      sleep 2 
	  #delete Symlinks and DSM icon
	  if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Subsonic DSM link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic_Jamstash ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic_Jamstash
		echo "$(date +%d.%m.%y_%H:%M:%S): Jamstash DSM link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -d ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic ]; then
		rm -r ${SYNOPKG_PKGDEST_VOL}/@tmp/subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp files deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -L /tmp/subsonic ]; then
		rm /tmp/subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  echo "$(date +%d.%m.%y_%H:%M:%S): ----subsonic is stopped----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  exit 0
   ;;
   status)
      subsonic_get_pid
      if [ -z  $PID ]; then
	  #Subsonic is not running
		exit 3
	  else
	  #subsonic is running
		exit 0
      fi
   ;;
   log)
	  echo "${SYNOPKG_PKGDEST}/subsonic_package.log"
	  exit 0
   ;;
esac

 

 

50 Responses to Subsonic 4.8 – 033 Synology Package

  1. 2013-05-16 at 10:30 Pascal

    Hello,

    There is a problem with accents. Where do we set the UTF-8 character. It worked with the previous version.
    Thank you.

    Antworten
  2. Works perfectly! Even the audio transcoding works without any problem. Good work, Eric. Thanks a lot!

    Antworten
  3. Hello Eric, a wonderful work !
    No issue to report and the Serviio trick worked fine for music.

    My issue now is „video“ !
    I would like to make it working (including transcoding to iPhone using iSub).
    If anyone know how to achieve this, I will be very happy :o)

    @Pascal: Got no issue with the UTF-8 on my Synology. Do you use the LOCALE or not ?

    Antworten
  4. Hi Eric, thanks for this new version that works well on my DS213+ (for information hibernating was working for me with Subsonic 4.8.31 after updating to DSM 4.2-3211)

    However, I can’t add „-vcodec libx264“ and „-preset superfast“ options in transcoding line without „video not found or access denied“ error. When I try to play a video without theese options the video run but doesn’t run smoothly (always buffering every 10 secondes).

    Can you ask Patters if libx264 is enabled in ffmpeg version for ppc qoriq cause I don’t see the –enable-libx264 option :

    DiskStation> ./ffmpeg -v
    ffmpeg version 1.1.1-compiled_by_patters_for_Serviio Copyright (c) 2000-2013 the FFmpeg developers
    built on Mar 29 2013 14:44:25 with gcc 4.3.2 (GCC)
    configuration: –arch=ppc –cpu=e500v2 –enable-cross-compile –cross-prefix=/usr/local/powerpc-none-linux-gnuspe/bin/powerpc-none-linux-gnuspe- –target-os=linux –prefix=/usr/local/powerpc-none-linux-gnuspe –enable-shared –disable-static –enable-pic –disable-ffplay –disable-ffserver –disable-debug –enable-pthreads –enable-libmp3lame –enable-librtmp –enable-libass –pkg-config=pkg-config –extra-version=compiled_by_patters_for_Serviio
    libavutil 52. 13.100 / 52. 13.100
    libavcodec 54. 86.100 / 54. 86.100
    libavformat 54. 59.106 / 54. 59.106
    libavdevice 54. 3.102 / 54. 3.102
    libavfilter 3. 32.100 / 3. 32.100
    libswscale 2. 1.103 / 2. 1.103
    libswresample 0. 17.102 / 0. 17.102

    Antworten
  5. (as my first post is awaiting moderation for tow days … I test to re-post it)
    Hi Eric, thanks for this new version that works well on my DS213+ (for information hibernating was working for me with Subsonic 4.8.31 after updating to DSM 4.2-3211)

    However, I can’t add “-vcodec libx264″ and “-preset superfast” options in transcoding line without “video not found or access denied” error. When I try to play a video without theese options the video run but doesn’t run smoothly (always buffering every 10 secondes).

    Can you ask Patters if libx264 is enabled in ffmpeg version for ppc qoriq cause I don’t see the –enable-libx264 option :

    DiskStation> ./ffmpeg -v
    ffmpeg version 1.1.1-compiled_by_patters_for_Serviio Copyright (c) 2000-2013 the FFmpeg developers
    built on Mar 29 2013 14:44:25 with gcc 4.3.2 (GCC)
    configuration: –arch=ppc –cpu=e500v2 –enable-cross-compile –cross-prefix=/usr/local/powerpc-none-linux-gnuspe/bin/powerpc-none-linux-gnuspe- –target-os=linux –prefix=/usr/local/powerpc-none-linux-gnuspe –enable-shared –disable-static –enable-pic –disable-ffplay –disable-ffserver –disable-debug –enable-pthreads –enable-libmp3lame –enable-librtmp –enable-libass –pkg-config=pkg-config –extra-version=compiled_by_patters_for_Serviio
    libavutil 52. 13.100 / 52. 13.100
    libavcodec 54. 86.100 / 54. 86.100
    libavformat 54. 59.106 / 54. 59.106
    libavdevice 54. 3.102 / 54. 3.102
    libavfilter 3. 32.100 / 3. 32.100
    libswscale 2. 1.103 / 2. 1.103
    libswresample 0. 17.102 / 0. 17.102

    Antworten
  6. 2013-05-20 at 13:57 Rob de Wit

    Hi,

    Excellent work!
    BTW: Is it possible to disable https? It is now automatically redirecting to https on port 4041.

    Thanks & keep up the good work!

    Antworten
    • Easy ;o)
      1. Connect to you NAS using SSH with root or admin account
      2. Go to : /volume1/@appstore/Subsonic
      3. Edit the „subsonic.sh“ file
      4. Replace SUBSONIC_HTTPS_PORT=4041 with SUBSONIC_HTTPS_PORT=0
      5. Restart Subsonic

      Antworten
    • Thanks MoBO 😉

      Antworten
  7. Hello All,

    I need some help related to the transcoding.
    I did the Timo trick and it worked fine for the music but not for the video.

    Do anybody know a way to make it working (maybe sharing the transcoding) ?

    By the way, I ‚m using iSub with my iPhone and will be so happy to be able to see the „result“ on my mobile ;o)

    Thanks.

    Antworten
  8. Hi MoBo,
    The Timo trick (-vn option added in the transcoding line) disable video output that´s why you juste have sound with black screen.

    For me (on ds213+), it´s seems ffmpeg (serviio version) is not compiled with libx264 enabled.
    You can run video transcoding by supressing „-vcodec libx264“ and „-preset superfast“ but this involves video buffering every 30 secondes.

    Antworten
  9. Works OK!! thank you very much!!

    Antworten
  10. Hi Eric
    Thanks for the excellent work. I followed your suggestion to install Serviio (not running) to the ffmpeg files, but when I use Telnet/SSH on my Synology 211+ to make the symlink, I get following error:
    ln: /var/packages/Subsonic/target/transcode/ffmpeg: Permission denied
    Any ideas?
    (I’m using PuTTY and the Windows Telnet client)
    Thanks – FME

    Antworten
  11. A small not, the Serviio packages does not contain a valid „libx264“ library so HLS (HTTP Live Streaming) usin „libx264“ for Apple device will not work.
    Check latest post from „patters“ here (at the bottom) : http://pcloadletter.co.uk/2012/10/12/ffmpeg-shared-libs-for-synology/

    The only way would be to compile it yourself or wait for the new Serviio version (if they fix it).

    Antworten
  12. Hello! Don’t work with the new 4.3…

    Antworten
  13. I’m sorry… I reinstall it and now works properly in my DS212+ with DSM4.3beta. Thank you very much.

    Antworten
  14. It’s remarkable in favor of me to have a web site, which is beneficial in favor of my experience. thanks admin

    Antworten
  15. Is there a MadSonic package available in this version?

    Antworten
  16. 4.9b1 available… An update soon ?
    Thanks for the work ‚til today ;o)

    Antworten
  17. Hello there,
    First of all, thank you a lot for all your work !

    It seems that a few of us have an incredible error :
    When installing Subsonic (any package, even Madsonic), a message appears „Can’t find a folder named „Subsonic“ in your public folder. […] Select „No“ if you don’t want to restore anything and just install Subsonic normally“
    First, I never checked Yes, on the previous screen.
    Second, I have no idea where a „public folder“ might be.

    I get that error all the time, it appears suddenly after uninstalling a Madsonic package, trying to find a way to transcode those damned flac…

    Any idea ?

    Antworten
    • When installing Subsonic (any package, even Madsonic), a message appears “Can’t find a folder named “Subsonic” in your public folder. […] Select “No” if you don’t want to restore anything and just install Subsonic normally”
      First, I never checked Yes, on the previous screen.
      Second, I have no idea where a “public folder” might be.
      I get that error all the time, it appears suddenly after uninstalling a Madsonic package, trying to find a way to transcode those damned flac…
      Any idea ?

      Antworten
  18. Hi, all the time i used to check webpage posts here in the early hours in the
    daylight, as i like to gain knowledge of more and more.

    Antworten
  19. Subsonic works with the new dsm5?

    Thank you.

    Antworten
  20. 2014-02-04 at 08:30 fabrice delacroix

    wird es ein update des packages geben auf die neue version von 4.9 oder gibt es eine einfache Möglichkeit ein update zu vollziehen?

    Antworten
  21. Guys,
    The „public“ folder should be in your „Volume1“.
    Eric create a small script on another package to backup Subsonic on the „public“ folder (/Volume1/public/Subsonic)

    When you install a new Subsonic, he will restore from this part.
    Maybe creating the folders will fix you issue.
    The script is correct as far as I saw… (installer.sh)

    Antworten
  22. Folder in public created but still the message appears “Can’t find a folder named “Subsonic” in your public folder.
    It doesn’t matter if i click yes or no for backup.

    Please Help!!!

    Antworten
  23. Problem solved!!!
    create dirs and restart server. Now Subsonic will install.

    thanx

    Antworten
  24. In fact no matter if someone doesn’t be aware of afterward its up to other users that they will help,
    so here it occurs.

    Antworten
  25. 2014-03-18 at 14:24 PatrickD

    Hi there

    I managed to install Subsonic 4.8 a while ago on Synology DSM 4.x
    When Subsonic 4.9 has been released, I did a simple manual upgrade (basically, I just replaced the war files)… no sweat

    The recent release of DSM 5 brings a few questions:
    – is Subsonic 4.8 compatible with DSM 5 ?
    – if it is not compatible, is there any plan to remediate ?
    – if it is compatible, should I simply upgrade DSM or should I downgrade Subsonic 4.9 to 4.8, uninstall 4.8, upgrade DSM and reinstall Subsonic 4.8/4.9 ?

    Thanks!!

    Antworten
    • 2014-03-20 at 16:35 fabrice dlc

      so if you have 4.9 allready installed then just go ahead with upgrading to DSM 5.0 it will work just fine and if you are still on 4.8 it will also be running fine.

      Antworten
  26. I, and others I would guess, are checking this website quite frequently for updates. I would love to see 4.9+ on my Synology box. Its been almost a year since last update… Any plans for further work?

    Antworten
  27. 2014-03-20 at 13:07 PatrickD

    Joerund,
    Do you mean 4.9 on DSM 4 or on DSM 5 ??

    Antworten
  28. 2014-03-20 at 16:29 fabrice dlc

    okay so subsonic 4.8 is working fine on dsm 5 and if you want to upgrade to the latest build e.g 4.9 plus you just could exchange the the war files to the newest one. it will work just perfect as before.

    Antworten
  29. Hello! when we have an updated version of your amazing script to use the new subsonic 4.9?

    thank you very much

    Antworten
  30. I read this post completely concerning the difference of hottest and previous technologies, it’s awesome article.

    Also visit my blog: where can i buy miracle garcinia cambogia rx

    Antworten
  31. Damned.. I should really create a new build for this.
    A new version is out (5 beta1) but I guess I will wait for the next release before testing to take over the package…

    Antworten
  32. Is the project completely dead? Its quite a shame as its so much better than audiostation… Hope to see a new release for 5.0.

    Antworten
  33. For those who, like me, were waiting for the next release I came by a Madsonic release for Synology (Subsonic fork) that works really well! Installed and everything is fine. Find out more info here: http://forum.madsonic.org/viewtopic.php?f=16&t=719 you have to register an account at the forum, but wow – so happy now!

    Antworten
  34. hell yeah. madsonic works like a charm. thanks for sharing this. absolut recommend!

    Antworten
  35. 2011Der Polizeichef einer kleinen Stadt südlich Texas wurde währenwe d einer Verkehrskontrolle am Sams4 erschossen, sagte ein County Sheriff!we

    Antworten
  36. 2012Der Polizeichef einer kleinen Stadt südlich Texas wurde währenwe d einer Verkehrskontrolle am Sams4 erschossen, sagte ein County Sheriff!we

    Antworten
  37. 20115Der Polizedichef einer kleinen Stadtd südlich Texas wurde wäqhrenwe d einer Verkehrskontrolle am Sams5w erschowssen, sagte ein Countwy Sheriff!we

    Antworten
  38. email me for updates !
    ownclouder@outlook.com

    I got them all !
    Including latest versions

    Antworten
  39. 2015-03-23 at 17:44 Maxnet

    You can find manual, how to install subsonic (5.1) on synology (DS414 and others) using debian chroot here:
    https://sites.google.com/site/maxant/others/subsonic

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.