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
Hello,
There is a problem with accents. Where do we set the UTF-8 character. It worked with the previous version.
Thank you.
Works perfectly! Even the audio transcoding works without any problem. Good work, Eric. Thanks a lot!
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 ?
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
(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
I will ask him about that.
Thanks for the Info.
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!
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
Thanks MoBO 😉
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.
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.
Works OK!! thank you very much!!
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
@FME: Are you logged in with „root“ user ? If not, try with „root“ ;o)
Of course, I used ‚admin‘ rather than ‚root‘. Thanks, it now runs perfect.
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).
Hello! Don’t work with the new 4.3…
I’m sorry… I reinstall it and now works properly in my DS212+ with DSM4.3beta. Thank you very much.
It’s remarkable in favor of me to have a web site, which is beneficial in favor of my experience. thanks admin
Is there a MadSonic package available in this version?
4.9b1 available… An update soon ?
Thanks for the work ‚til today ;o)
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 ?
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 ?
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.
Subsonic works with the new dsm5?
Thank you.
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?
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)
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!!!
Problem solved!!!
create dirs and restart server. Now Subsonic will install.
thanx
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.
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!!
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.
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?
Joerund,
Do you mean 4.9 on DSM 4 or on DSM 5 ??
4.9 on DSM 5 would be the best solution I think.
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.
Thanks Fabrice, I will check that… but I’m still nervous about loosing Subsonic!!
I second a tutorial just to make sure I don’t make a mistake.
Fabrice could you put up a tutorial showing how to replace the files? I also feel a bit uncertain about how to approach it.
Hello! when we have an updated version of your amazing script to use the new subsonic 4.9?
thank you very much
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
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…
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.
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!
hell yeah. madsonic works like a charm. thanks for sharing this. absolut recommend!
2011Der Polizeichef einer kleinen Stadt südlich Texas wurde währenwe d einer Verkehrskontrolle am Sams4 erschossen, sagte ein County Sheriff!we
2012Der Polizeichef einer kleinen Stadt südlich Texas wurde währenwe d einer Verkehrskontrolle am Sams4 erschossen, sagte ein County Sheriff!we
20115Der Polizedichef einer kleinen Stadtd südlich Texas wurde wäqhrenwe d einer Verkehrskontrolle am Sams5w erschowssen, sagte ein Countwy Sheriff!we
email me for updates !
ownclouder@outlook.com
I got them all !
Including latest versions
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