Serviio 2.0 package for Synology NAS

Serviio 1.6 in DSM Package Center

Update – Serviio version 2.0 is a new major version, so existing Serviio 1.x licences will not unlock the Pro features without a fresh licence purchase. If you wish to downgrade back to version 1.10.1 you may manually install the older package (merged architectures, or evansport) but your media library will need to be rebuilt.

Running the Serviio DLNA server on a NAS is a very efficient solution. It allows all your media to be constantly available to all your devices, all without the need for a dedicated media PC. Most TV and Bluray players are already capable media renderers – so indexing the library, retrieving metadata, and streaming the content are where Serviio fits in. Device support is continually improved by a community of contributors, and this crowd-sourced aspect was what initially drew me to the project, leading me to create the Sony Bluray device profile back in 2010. Serviio can also connect to online sources of content such as catch-up TV portals and allow fuss free content playback without advertising, even on devices which lack native support. These online plugins are also community maintained.

This new version of the Synology package updates Serviio to version 2.0 which fixes some issues and introduces multiple user support (release notes). Version 1.10 improved MediaBrowser, and also 4K media support. Version 1.9 replaced the Flash Player dependency in MediaBrowser with an HTML5 player. Serviio 1.7 brought audio track selection preferences, and automatic subtitle downloading. The most significant enhancement from version 1.6 onwards is the new web management console which removes the need to install the separate Serviio Console application on a computer. The web console uses a modern adaptive design which works well on mobile devices, and it is now integrated with DSM so you will see its icon in the application menu when the package is running:

Serviio-DSM-integration
Serviio 1.6 web console
The package supports hardware transcoding on the DS214play and DS415play with Intel Evansport media processor. This support required substantial personal effort and was made possible by the very kind donation of a new DS214play unit from MrK/Boretom a fellow package maintainer for ASUStor devices.

 

Limitations

If you use a TV, Bluray or media player bought in the last few years it is likely to have very good format support. In this case even a low specification NAS will be adequate for streaming most video content. There are some limitations however, in particular with video transcoding.

Serviio’s MediaBrowser is a Pro version only feature, and is designed to allow direct playback of media on tablet devices without the need for dedicated apps. Please note that Apple iOS devices require video in H.264 and audio in stereo AAC format when streaming. With the exception of the “play” models already mentioned, most Synology NAS models lack the CPU power to transcode video into H.264 in realtime. Even if the source video is already H.264, ARMv5 family CPUs (which lack an FPU) in the older models lack the power even to transcode AAC audio in realtime without libfdk_aac. Unfortunately I am unable to distribute an FFmpeg binary compiled against this library under the terms of its software license.

Ever since Serviio version 1.2 renderers that do not natively support subtitles via DLNA can have them burned into the video during transcoding, but as already explained a NAS usually lacks the CPU power to do this (more info on subs here). If you absolutely need hard subs for a particular film, you could start playback on your device then stop it and Serviio will continue transcoding. Then you will be able to try again in a few hours since it will play from the transcode cache folder. Newer TVs tend to support inline SRT subs, but for those with older models I can recommend the PlayStation 4 Media Player as a competent DLNA renderer with inline subs support.

I was able to compile FFmpeg for all eight supported architectures (ARMv5, ARMv7, ARMv7 with NEON, ARMv8, Intel i686, Intel x64, Intel Evansport media processor, and PowerPC e500v2) with the additional libraries Serviio requires while using the libs included within DSM as far as possible. I have published my compilation methods to make the process easier for others in future since parts of it were difficult to figure out. Only the Intel CPU or higher end ARM CPUs are likely to be of any practical use transcoding to H.264, since the other CPU types lack vector units (no AltiVec in QorIQ/PowerQUICC, and no NEON in Armada 370/XP).

 

Synology Package Installation

  • In Synology DSM’s Package Center, click Settings and add my package repository:
    Add Package Repository
  • The repository will push its certificate automatically to the NAS, which is used to validate package integrity. Set the Trust Level to Synology Inc. and trusted publishers:
    Trust Level
  • Serviio now requires Java 8 for OS-native filesystem watching, so you will need to install my Java SE Embedded package first if you have not already done so. Read the instructions on that page carefully too.
  • Now browse the Community section in Package Center to install Serviio:
    Community-packages
    Community packages are not listed in the All category for some reason. The repository only displays packages which are compatible with your specific model of NAS. If you don’t see Serviio in the list, then either your NAS model or your DSM version are not supported at this time. DSM 6.0 is the minimum supported version for this package.
  • When Serviio is started for the first time, a plugins folder will be created in the public shared folder (usually /volume1/public/serviio/plugins/). Download any Serviio online content plugins that you require and place the .groovy files in that location.
  • If you need subtitle support for glyphs not present in the default DejaVu fonts, add additional fonts to the following folder inside your NAS’s public shared folder (usually /volume1/public/serviio/fonts/).
 

Notes

  • You should reserve an IP address for your NAS (most home broadband routers will let you do this in the DHCP options), or use a static IP address. This will prevent Serviio from appearing multiple times in the menus of your renderer devices as its IP changes.
  • In the console disable ‘Generate thumbnails for local videos’ in the Metadata tab. Failure to do this can make adding videos to your library very slow on older NAS systems. With this disabled Serviio will still fetch thumbnail images automatically from the online databases.
  • Don’t alter the transcoded files location on the Transcoding tab, it’s already set to a sensible location for Synology systems. This particular folder is deleted each time your NAS restarts, and Serviio cleans up its temp files automatically in any case.
  • When adding folders to the media library use the Browse button. This will show the root of the entire NAS Linux filesystem, so you will find your DSM shared folders inside /volume1.
  • If you’re upgrading from a previous Serviio version you should check for updates of your online content plugins.
  • MediaBrowser (Pro only feature) can be opened using the link in the side bar of the web console (http://IPofYourNAS:23424/mediabrowser). If you want to use the MediaBrowser from a remote location you would need to either port forward 23424 on your router, or use SSH tunnelling. You can also manage Serviio remotely by SSH tunnelling port 23423 which the console uses. Both of these service definitions are added to the DSM Firewall.
  • Advanced users who wish to edit device profiles or enable debug logging can find the Serviio files in /var/packages/Serviio/target. You will need to use an SSH session to access this folder – it cannot be navigated to using DSM’s File Station. You will need to restart the Serviio package for profile changes to take effect.
  • Some users may wish to restrict running Serviio to specific times of day in order to free up RAM for a scheduled backup window for instance. This can be achieved by creating tasks to start and stop Serviio using the Task Scheduler in DSM Control Panel:
    Schedule service start
  • The package uses an FFmpeg wrapper script to modify the usual transcoding behaviour of Serviio to use the Intel Evansport hardware decoding and encoding available in the DS214play and DS415play models. I have left the FFmpeg wrapper scripts in the package even when not in use (in the Serviio/bin folder), because they are still useful for people trying to test a particular workaround or encoder setting. The wrapper was a tricky script to get working due to variable expansion precedence issues and quote handling. If you need it, just change the ffmpeg.location system property in /var/packages/Serviio/target/bin/serviio.sh to point to your modified wrapper script.
  • If additional fonts are not working as expected, some troubleshooting is available. You can re-create the fontconfig cache by connecting to the NAS via an SSH session as admin, and then running:
    sudo -i
    (enter admin password to become root)
    rm -rf ~/.fontconfig.cache
    FC_DEBUG=128 /var/packages/Serviio/target/bin/fc-cache --verbose
 

Hardware transcoding support

  • DS214play and DS415play with Intel Evansport SoC are the only models supported for hardware transcoding. Serviio uses the multimedia tool FFmpeg for manipulating media files, and I am only able to build a hardware-assisted FFmpeg for DS214play and DS215play. Subsequent to those products, Synology has marketed a number of other systems with hardware transcoding features but these are not supported by Serviio.
    The DS216play with STiH412 Monaco SoC uses a specialised build of Gstreamer for the Synology transcoding solution rather than FFmpeg, so its hardware features cannot be used by Serviio.
    It seems likely that Synology is also using Gstreamer for the Intel Braswell or newer generation CPUs with QuikSync, since DSM ships with an older FFmpeg (2.7.1) than the version which introduced QuikSync support (2.8.0). To implement FFmpeg QuikSync hardware transcoding support requires Linux kernel patches for libmfx support which is not currently included in DSM 6.x, so Serviio support for Intel QuikSync on Synology is unlikely unless Synology in future switches to using FFmpeg for its own hardware transcoding solution.
    The DS218play with Realtek RTD1296 SoC uses Gstreamer with OpenMAX drivers for the Synology transcoding solution. Although I was able to compile the ARMv8 build of FFmpeg with libomx support, unfortunately the Belaggio OpenMAX IL will not register these Realtek drivers which are distributed in the VideoStation package, therefore the hardware transcoding features of this model cannot be used by Serviio.
  • For the supported systems FFmpeg will use hardware decoding wherever possible.
  • Although multiple hardware assisted decodes can take place simultaneously, only a single hardware encode is available. The package intelligently avoids race conditions for this.
  • Any FFmpeg commandline to encode using libx264 will automatically be sent to the hardware encoder when available.
  • profiles.xml has been modified so that the preferred transcode format for most devices for non-natively supported videos is H.264.
  • In order to add hardware H.264 encoding to a device profile, specify h264 as the desired codec and the FFmpeg wrapper script will make the necessary substitution automatically.
  • When the hardware encoder is used, the low quality settings in Serviio’s default libx264 options to favour encoding speed are ignored. The hardware encoder performance is not altered by quality settings.
  • If a media stream is being both hardware decoded and hardware encoded, it will use pipelined mode. Based on responses from Synology support during development this means that both jobs occur on the media processor without exposing the intermediate bitstream to FFmpeg. Consequently it is not possible to burn subtitles in pipelined mode. As a result my FFmpeg wrapper script will run the decode part of the job in software in order to do this. The unfortunate result is that the encoder cannot quite achieve real time transcoding during subtitle compositing. For full 1080p HD material it achieves around 20fps, whereas most movies are 24fps. This means that in order to watch a film with hard subs you would need to start it off, pause or stop the renderer and return a bit later to view. An alternative would be to mux the content into an MKV container with the desired subtitles before adding it to the Serviio library, assuming that your device supports SRTs in MKV.
  • The hardware encoded H.264 streams are not 100% compliant with the specification and fail validation using the tool DGAVCDec. For most tested renderers this does not affect playback (Bravia, Sony Bluray, iOS). FlowPlayer which had been the embedded player in MediaBrowser did not play these files satisfactorily and dropped many frames resulting in jerky playback. However since Serviio version 1.9 MediaBrowser uses an HTML5 player which is not affected by this issue.
 

Package scripts

For information, here are the package scripts so you can see what it’s going to do. You can get more information about how packages work by reading the Synology 3rd Party Developer Guide.

installer.sh

#!/bin/sh

#--------SERVIIO installer script
#--------package maintained at pcloadletter.co.uk


DOWNLOAD_PATH="http://download.serviio.org/releases"
DOWNLOAD_FILE="serviio-2.0-linux.tar.gz"
EXTRACTED_FOLDER="serviio-2.0"
DOWNLOAD_URL="${DOWNLOAD_PATH}/${DOWNLOAD_FILE}"
SYNO_CPU_ARCH="`uname -m`"
[ "${SYNO_CPU_ARCH}" == "x86_64" ] && SYNO_CPU_ARCH="x64"
[ "${SYNOPKG_DSM_ARCH}" == "comcerto2k" ] && SYNO_CPU_ARCH="armneon"
[ "${SYNOPKG_DSM_ARCH}" == "armada375" ] && SYNO_CPU_ARCH="armneon"
[ "${SYNOPKG_DSM_ARCH}" == "armada38x" ] && SYNO_CPU_ARCH="armneon"
[ "${SYNOPKG_DSM_ARCH}" == "alpine" ] && SYNO_CPU_ARCH="armneon"
[ "${SYNOPKG_DSM_ARCH}" == "alpine4k" ] && SYNO_CPU_ARCH="armneon"
[ "${SYNOPKG_DSM_ARCH}" == "monaco" ] && SYNO_CPU_ARCH="armneon"
[ "${WIZARD_ENC_HW}" == "true" ] && SYNO_CPU_ARCH="i686evansport"
NATIVE_BINS_URL="http://packages.pcloadletter.co.uk/downloads/serviio-native-${SYNO_CPU_ARCH}.tar.xz"   
NATIVE_BINS_FILE="`echo ${NATIVE_BINS_URL} | sed -r "s%^.*/(.*)%\1%"`"
FONTS_URL="http://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2"
FONTS_FILE="`echo ${FONTS_URL} | sed -r "s%^.*/(.*)%\1%"`"
#'ua' prefix means wget user-agent will be customized
INSTALL_FILES="ua${DOWNLOAD_URL} ${NATIVE_BINS_URL} ${FONTS_URL}"
PID_FILE="${SYNOPKG_PKGDEST}/serviio.pid"
COMMENT="# Synology Serviio Package"
TEMP_FOLDER="`find / -maxdepth 2 -path '/volume?/@tmp' | head -n 1`"
PUBLIC_FOLDER="`synoshare --get public | sed -r "/Path/!d;s/^.*\[(.*)\].*$/\1/"`"
PLUGINS_PATH="${PUBLIC_FOLDER}/serviio"
source /etc/profile


pre_checks ()
{
  #These checks are called from preinst and from preupgrade functions to prevent failures resulting in a partially upgraded package
  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
    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
    exit 1
  fi

  JAVA_VER=`java -version 2>&1 | sed -r "/^.* version/!d;s/^.* version \"[0-9]\.([0-9]).*$/\1/"`
  if [ ${JAVA_VER} -lt 8 ]; then
    echo "This version of Serviio requires Java 8 or newer. Please update your Java package. " >> $SYNOPKG_TEMP_LOGFILE
    exit 1
  fi

  if [ -z ${PUBLIC_FOLDER} ]; then
    echo "A shared folder called 'public' could not be found - note this name is case-sensitive. " >> $SYNOPKG_TEMP_LOGFILE
    echo "Please create this using the Shared Folder DSM Control Panel and try again." >> $SYNOPKG_TEMP_LOGFILE
    exit 1
  fi
}


preinst ()
{
  pre_checks
  cd ${TEMP_FOLDER}
  for WGET_URL in ${INSTALL_FILES}
  do
    WGET_FILENAME="`echo ${WGET_URL} | sed -r "s%^.*/(.*)%\1%"`"
    [ -f ${TEMP_FOLDER}/${WGET_FILENAME} ] && rm ${TEMP_FOLDER}/${WGET_FILENAME}
    #this will allow serviio.org to track the number of downloads from Synology users
    WGET_URL=`echo ${WGET_URL} | sed -e "s/^ua/--user-agent=Synology --referer=http:\/\/pcloadletter.co.uk\/2012\/01\/25\/serviio-syno-package /"`
    wget ${WGET_URL}
    if [ $? != 0 ]; then
      if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/${WGET_FILENAME} ]; then
        cp ${PUBLIC_FOLDER}/${WGET_FILENAME} ${TEMP_FOLDER}
      else
        echo "There was a problem downloading ${WGET_FILENAME} from the official download link, " >> $SYNOPKG_TEMP_LOGFILE
        echo "which was \"${WGET_URL}\" " >> $SYNOPKG_TEMP_LOGFILE
        echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. " >> $SYNOPKG_TEMP_LOGFILE
        exit 1
      fi
    fi
  done

  exit 0
}


postinst ()
{
  #extract the downloaded Serviio archive
  cd ${TEMP_FOLDER}
  tar xzf ${TEMP_FOLDER}/${DOWNLOAD_FILE}
  rm ${TEMP_FOLDER}/${DOWNLOAD_FILE}
  cp -R ${TEMP_FOLDER}/${EXTRACTED_FOLDER}/* ${SYNOPKG_PKGDEST}
  if [ ! -z "${EXTRACTED_FOLDER}" ]; then
    rm -r ${TEMP_FOLDER}/${EXTRACTED_FOLDER}
  fi
  if [ ! -d "${PLUGINS_PATH}/plugins" ]; then
    mkdir -p ${PLUGINS_PATH}/plugins
  fi
  if [ ! -d "${PLUGINS_PATH}/fonts" ]; then
    mkdir -p ${PLUGINS_PATH}/fonts
  fi

  #extract CPU-specific additional binaries
  cd ${SYNOPKG_PKGDEST}/lib
  tar xJf ${TEMP_FOLDER}/${NATIVE_BINS_FILE} && rm ${TEMP_FOLDER}/${NATIVE_BINS_FILE}
  mv ${SYNOPKG_PKGDEST}/lib/ffmpeg ${SYNOPKG_PKGDEST}/bin
  mv ${SYNOPKG_PKGDEST}/lib/fc-cache ${SYNOPKG_PKGDEST}/bin
  [ -e ${SYNOPKG_PKGDEST}/lib/omxregister-bellagio ] mv ${SYNOPKG_PKGDEST}/lib/omxregister-bellagio ${SYNOPKG_PKGDEST}/bin

  #remove legacy package font versions
  [ -d ${PLUGINS_PATH}/fonts/dejavu-fonts-ttf-2.33/ ] && rm -rf ${PLUGINS_PATH}/fonts/dejavu-fonts-ttf-2.33/
  [ -d ${PLUGINS_PATH}/fonts/dejavu-fonts-ttf-2.34/ ] && rm -rf ${PLUGINS_PATH}/fonts/dejavu-fonts-ttf-2.34/
  [ -d ${PLUGINS_PATH}/fonts/dejavu-fonts-ttf-2.35/ ] && rm -rf ${PLUGINS_PATH}/fonts/dejavu-fonts-ttf-2.35/

  #extract open source font package for subtitle support during transcoding
  cd ${PLUGINS_PATH}/fonts
  tar xvjf ${TEMP_FOLDER}/${FONTS_FILE} && rm ${TEMP_FOLDER}/${FONTS_FILE}
  sed -i "s|WINDOWSFONTDIR|${PLUGINS_PATH}/fonts|" ${SYNOPKG_PKGDEST}/config/fonts/fonts.conf
  sed -i "s|WINDOWSTEMPDIR_FONTCONFIG_CACHE|~/.fontconfig.cache|" ${SYNOPKG_PKGDEST}/config/fonts/fonts.conf

  #wrapper script can be useful for testing different encoder options
  if [ -e "${SYNOPKG_PKGDEST}/bin/ffmpeg-wrapper-${SYNO_CPU_ARCH}.sh" ]; then
    #we need to use the wrapper to make FFmpeg use libshine on ARM systems and to use hardware decode/encode on Intel Evansport systems
    FFMPEG_PATH="\$SERVIIO_HOME/bin/ffmpeg-wrapper-${SYNO_CPU_ARCH}.sh"
  else
    FFMPEG_PATH="\$SERVIIO_HOME/bin/ffmpeg"
  fi

  #modifications to device profiles (evansport hardware transcoding)
  if [ -e "${SYNOPKG_PKGDEST}/config/profiles-${SYNO_CPU_ARCH}.xml" ]; then
    mv "${SYNOPKG_PKGDEST}/config/profiles.xml" "${SYNOPKG_PKGDEST}/config/profiles-orig.xml"
    mv "${SYNOPKG_PKGDEST}/config/profiles-${SYNO_CPU_ARCH}.xml" "${SYNOPKG_PKGDEST}/config/profiles.xml"
  fi

  #modifications to application profiles (evansport hardware transcoding)
  #removed owing to frame drops in FlowPlayer because encoder does not produce 100% valid streams, evansport has sufficient power for flv encoding
  #if [ -e "${SYNOPKG_PKGDEST}/config/application-profiles-${SYNO_CPU_ARCH}.xml" ]; then
  #  mv "${SYNOPKG_PKGDEST}/config/application-profiles-${SYNO_CPU_ARCH}.xml" "${SYNOPKG_PKGDEST}/config/application-profiles.xml"
  #fi

  #make changes to Serviio launcher script so that pid file is created for Java process
  sed -r -i "s%Execute the JVM in the foreground%Execute the JVM in the background%" ${SYNOPKG_PKGDEST}/bin/serviio.sh
  sed -r -i "s%^(exec \"$JAVA.*)$%\1 \&%" ${SYNOPKG_PKGDEST}/bin/serviio.sh
  echo "echo \$! > ${PID_FILE}" >> ${SYNOPKG_PKGDEST}/bin/serviio.sh

  #set some additional Serviio system properties (temp folder, FFmpeg path, plugins folder)
  #http://www.serviio.org/index.php?option=com_content&view=article&id=43
  EXTRA_OPTS="-Dserviio\.defaultTranscodeFolder=${TEMP_FOLDER} -Dffmpeg\.location=${FFMPEG_PATH} -Dplugins\.location=${PLUGINS_PATH}"
  #fix Java prefs checking which was preventing NAS hibernation http://forum.serviio.org/viewtopic.php?f=5&t=6878
  EXTRA_OPTS="${EXTRA_OPTS} -Djava.util.prefs.syncInterval=86400"
  if [ "${SYNO_CPU_ARCH}" == "armv5tel" ]; then
    #use integer math (not floating point) Dolby AC-3 encoder for better performance on ARM CPUs
    #http://ffmpeg.org/ffmpeg.html#ac3-and-ac3_005ffixed
    EXTRA_OPTS="${EXTRA_OPTS} -Dserviio\.fixedPointEncoders"
  fi
  sed -r -i "s% -Dffmpeg\.location=ffmpeg%%; s%^(JAVA_OPTS=.*)\"$%\1 ${EXTRA_OPTS}\"%" ${SYNOPKG_PKGDEST}/bin/serviio.sh

  #create log file to allow package start errors to be captured
  [ -e ${SYNOPKG_PKGDEST}/log ] || mkdir ${SYNOPKG_PKGDEST}/log
  [ -e ${SYNOPKG_PKGDEST}/log/serviio.log ] || touch ${SYNOPKG_PKGDEST}/log/serviio.log

  #add firewall config
  /usr/syno/bin/servicetool --install-configure-file --package /var/packages/${SYNOPKG_PKGNAME}/conf/${SYNOPKG_PKGNAME}.sc > /dev/null

  exit 0
}


preuninst ()
{
  `dirname $0`/stop-start-status stop

  exit 0
}


postuninst ()
{
  #remove fontconfig configuration
  sed -i "/${COMMENT}/d" /root/.profile

  #remove firewall config
  if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then
    /usr/syno/bin/servicetool --remove-configure-file --package ${SYNOPKG_PKGNAME}.sc > /dev/null
  fi

  #remove legacy daemon user and homedir
  [ -e /var/services/homes/serviio ] && synouser --del serviio
  [ -e /var/services/homes/serviio ] && rm -r /var/services/homes/serviio

  exit 0
}


preupgrade ()
{
  `dirname $0`/stop-start-status stop
  pre_checks
  #if a media database exists we need to preserve it
  if [ -d ${SYNOPKG_PKGDEST}/library/db ]; then
    mkdir ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_db_migration
    mv ${SYNOPKG_PKGDEST}/library/db ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_db_migration
  fi

  exit 0
}


postupgrade ()
{
  #use the backed up media database from the previous version
  if [ -d ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_db_migration/db ]; then
    mv ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_db_migration/db ${SYNOPKG_PKGDEST}/library
    rmdir ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_db_migration
  fi
  chown -R root:root ${SYNOPKG_PKGDEST}

  exit 0
}
 

start-stop-status.sh

#!/bin/sh

#--------SERVIIO start-stop-status script
#--------package maintained at pcloadletter.co.uk

PKG_FOLDER="/var/packages/Serviio"
ENGINE_CFG="${PKG_FOLDER}/target/bin/serviio.sh"
ENGINE_SCRIPT="${PKG_FOLDER}/target/bin/serviio.sh"
PID_FILE="${PKG_FOLDER}/target/serviio.pid"
DNAME="Serviio"
DLOG="${PKG_FOLDER}/target/log/serviio.log"
COMMENT="# Synology Serviio Package"
TIMESTAMP="`date "+%F %X,000"`"
source /etc/profile
source /root/.profile


EnvCheck ()
#updates to DSM will reset these changes so check them each startup
{
  #/root/.profile should contain 2 lines added by this package tagged with trailing comments
  COUNT=`grep -c "$COMMENT$" /root/.profile`
  if [ $COUNT != 2 ]; then

    #remove any existing mods
    sed -i "/${COMMENT}/d" /root/.profile

    #add required environment variables
    echo "export FONTCONFIG_FILE=fonts.conf ${COMMENT}" >> /root/.profile
    echo "export FONTCONFIG_PATH=${PKG_FOLDER}/target/config/fonts ${COMMENT}" >> /root/.profile
  fi
}

start_daemon ()
{
  EnvCheck
  source /root/.profile

  #create/refresh fontconfig cache - prevents delay the first time that FFmpeg renders hard subs
  #FC_DEBUG=128 fc-cache --verbose
  ${PKG_FOLDER}/target/bin/fc-cache

  #refresh hostname in Serviio instance name - recently DSM has modified the hosts file and broken localhost name resolution
  sed -i -r "s%<FriendlyName>Serviio \((\{computerName\})\)%<FriendlyName>Serviio \(`hostname`\)%" $PKG_FOLDER/target/config/profiles.xml

  #set appropriate Java max heap size
  RAM=$((`free | grep Mem: | sed -e "s/^ *Mem: *\([0-9]*\).*$/\1/"`/1024))
  if [ $RAM -le 128 ]; then
    JAVA_MAX_HEAP=80
  elif [ $RAM -le 256 ]; then
    JAVA_MAX_HEAP=192
  elif [ $RAM -le 512 ]; then
    JAVA_MAX_HEAP=384
  #Serviio's default max heap is 512MB
  elif [ $RAM -gt 512 ]; then
    JAVA_MAX_HEAP=512
  fi
  sed -i -r "s/(^..JAVA.) -Xmx[0-9]+[mM] (.*$)/\1 -Xmx${JAVA_MAX_HEAP}m \2/" "${ENGINE_CFG}"
  echo "${TIMESTAMP} Starting ${DNAME}" >> ${DLOG}
  ${ENGINE_SCRIPT} > /dev/null 2>> ${DLOG}
  if [ -z ${SYNOPKG_PKGDEST} ]; then
    #script was manually invoked, need this to show status change in Package Center
    [ -e ${PKG_FOLDER}/enabled ] || touch ${PKG_FOLDER}/enabled
  fi
}

stop_daemon ()
{
  echo "${TIMESTAMP} Stopping ${DNAME}" >> ${DLOG}
  kill `cat ${PID_FILE}`
  wait_for_status 1 20 || kill -9 `cat ${PID_FILE}`
  rm -f ${PID_FILE}
  if [ -z ${SYNOPKG_PKGDEST} ]; then
    #script was manually invoked, need this to show status change in Package Center
    [ -e ${PKG_FOLDER}/enabled ] && rm ${PKG_FOLDER}/enabled
  fi
}

daemon_status ()
{
  if [ -f ${PID_FILE} ] && kill -0 `cat ${PID_FILE}` > /dev/null 2>&1; then
    return
  fi
  rm -f ${PID_FILE}
  return 1
}

wait_for_status ()
{
  counter=$2
  while [ ${counter} -gt 0 ]; do
    daemon_status
    [ $? -eq $1 ] && return
    let counter=counter-1
    sleep 1
  done
  return 1
}

case $1 in
  start)
    if daemon_status; then
      echo ${DNAME} is already running with PID `cat ${PID_FILE}`
      exit 0
    else
      echo Starting ${DNAME} ...
      start_daemon
      exit $?
    fi
  ;;

  stop)
    if daemon_status; then
      echo Stopping ${DNAME} ...
      stop_daemon
      exit $?
    else
      echo ${DNAME} is not running
      exit 0
    fi
  ;;

  restart)
    stop_daemon
    start_daemon
    exit $?
  ;;

  status)
    if daemon_status; then
      echo ${DNAME} is running with PID `cat ${PID_FILE}`
      exit 0
    else
      echo ${DNAME} is not running
      exit 1
    fi
  ;;

  log)
    echo "${DLOG}"
    exit 0
  ;;

  *)
    echo "Usage: $0 {start|stop|status|restart}" >&2
    exit 1
  ;;

esac
 

ffmpeg-wrapper-i686evansport.sh

#!/bin/sh

#FFmpeg wrapper script to enable hardware decoding and encoding on Intel Evansport CPUs
#wrapper originally posted here: http://forum.serviio.org/viewtopic.php?f=7&t=6458

FOLDER="`dirname $0`"
PARAMS=""
COMMANDLINE=$@
FFMPEG_BIN="ffmpeg"
INPUT=0
for PARAM in "$@"; do
  if [ ${INPUT} = 1 ]; then
    #the FFmpeg input filename/URL needs quotes adding back on
    #because it may contain spaces, and the shell has removed them
    PARAMS="${PARAMS} \"${PARAM}\""    
    INPUT=0
  elif [ ${INPUT} = 2 ]; then
    #the FFmpeg subtitles filename needs quotes adding back on
    #because it may contain spaces, and the shell has removed them
    PARAM=${PARAM/\[*.*\]subtitles=filename=/subtitles=filename=\"}
    PARAM=${PARAM/:original_size/\":original_size}
    PARAMS="${PARAMS} ${PARAM}"    
    INPUT=0
  elif [ "${PARAM}" == "-filter_complex" ]; then
    #next parameter will be subtitles filtergraph including subtitle filename
    #which needs special treatment, so set a flag
    INPUT=2
    PARAMS="${PARAMS} ${PARAM}"
  elif [ "${PARAM}" == "-i" ]; then
    #next parameter will be input filename which needs special treatment, so set a flag    
    INPUT=1
    #enable hardware decoding by default, but not when Serviio is either:
    # gathering media metadata,
    # remuxing video,
    # generating thumbnails,
    # or rendering subtitles into the video stream (pipeline mode not supported for subs),
    if [ $# -lt 3 ] || \
       [ "${COMMANDLINE}" != "${COMMANDLINE/ -c:v copy /}" ] || \
       [ "${COMMANDLINE}" != "${COMMANDLINE/ pipe:/}" ] || \
       [ "${COMMANDLINE}" != "${COMMANDLINE/ -filter_complex \[*:*\]subtitles=/}" ]; then
      PARAMS="${PARAMS} -i"
    # or gathering online stream metadata 
    elif [ $# -eq 4 ] && [ "${COMMANDLINE}" != "${COMMANDLINE/-analyzeduration /}" ]; then
      PARAMS="${PARAMS} -i"
    else
      PARAMS="${PARAMS} -prefer_smd -i"
    fi
  else
    PARAMS="${PARAMS} ${PARAM}"
  fi
done

#older Evansport FFmpeg version 2.7.1 needs "-strict -2" to use experimental aac encoder
if [ "${PARAMS}" != "${PARAMS/ -c:a:* aac /}" ]; then
  PARAMS="${PARAMS/ aac / aac -strict -2 }"
fi

#Is this FFmpeg commandline a candidate for the hardware encoder?
HWENC=0
if [ "${PARAMS}" != "${PARAMS/ -c:v libx264 /}" ]; then
  #check whether H.264 encoder is already busy with another Serviio/VideoStation session
  PID_HWENC=`cat /tmp/VideoStation/enabled 2> /dev/null | sed -r "s/.*\"PID\":([0-9]+),\"hardware_transcode.*$/\1/;s/\[//;s/\]//"`
  #is there an indicated PID?
  if [ -n "${PID_HWENC}" ]; then
    #there is an indicated PID - is it running? 
    if ! kill -0 ${PID_HWENC}; then
      #the indicated PID is not in fact running, HW encoder is therefore available
      rm /tmp/VideoStation/enabled
      #make hardware H.264 encoder substitution to replace libx264
      HWENC=1
    fi 
  else
    #there is no indicated PID, HW encoder is therefore available
    HWENC=1
  fi  
fi

if [ ${HWENC} = 1 ]; then
  #make hardware H.264 encoder substitution to replace libx264
  PARAMS=${PARAMS/ libx264 / h264_smd }

  #by default Serviio's libx264 transcoding is intended for speed over quality, with SMD we can opt for better quality
  PARAMS="`echo ${PARAMS} | sed -r "s/ -crf [0-9]+ / /; s/ -g [0-9]+ / /"`"
  PARAMS=${PARAMS/ -preset:v veryfast / }
  PARAMS=${PARAMS/ -profile:v baseline / -profile:v high }
  PARAMS=${PARAMS/ -level 3 / -level 4.1 }
fi

#invoke FFmpeg
#log commandline, except media probes
#[ $# -gt 2 ] && echo "${FOLDER}/${FFMPEG_BIN} ${PARAMS}" >> ${FOLDER}/../log/ffmpeg-wrapper.log

#need to use eval here otherwise the quotes aren't handled properly
#http://fvue.nl/wiki/Bash:_Why_use_eval_with_variable_expansion%3F
eval ${FOLDER}/${FFMPEG_BIN} ${PARAMS}

#return FFmpeg status
exit $?
 

Changelog:

  • 0037 05/Jun/19 – Updated to Serviio 2.0, clear your web browser cache to fix Serviio Console issues
  • 0036 17/Apr/19 – Updated to Serviio 1.10.1, fixed missing Serviio console icon in DSM 6.2 main menu, added support for DS119j
  • 0035 14/May/18 – Updated to Serviio 1.9.2
  • 0034 01/Mar/18 – Updated to Serviio 1.9.1, added ARMv8 support
  • 0033 02/Aug/17 – Updated to Serviio 1.9
  • 0032 21/Jan/17 – Fixed Evansport FFmpeg wrapper script to allow transcoding to aac since it’s an older FFmpeg version with slightly different command syntax
  • 0031 07/Jan/17 – Updated to Serviio 1.8
    Updated FFmpeg to 3.2.2
    Updated Intel Evansport hardware transcoding build of FFmpeg from 2.0.2 to 2.7.1 – now detects H.265 codec correctly
    Fixed Intel Evansport FFmpeg support for transcoding DTS audio
    FFmpeg now uses hard float ABI on systems with Armada 370/XP SoC (DSM 6.0 change)
    FFmpeg now uses NEON on systems with Armada 375 SoC (DSM 6.0 change)
    Disabled FFmpeg wrapper script to enable libshine for ARMv5 systems now that Serviio handles this automatically
    Added Ogg Vorbis audio support to FFmpeg
    Updated Deja-Vu fonts to 2.37
    DSM 6.0 is now required due to greatly simplify FFmpeg compilation
  • 0030 21/May/16 – Updated to Serviio 1.6.1
  • 0029 28/Jan/16 – Updated to Serviio 1.6, integrated the new built-in web console into DSM, fixed stupid wrapper bug which had broken evansport hardware transcoding on DS214play and DS415play, fixed online content when using evansport build. You must have already upgraded to version 1.5.2-0028 or else Package Center will report a TCP port conflict and will fail to upgrade the package. If you missed the 0028 update, install it manually in Package Center using the .spk file: (DS214play/DS415play), (all other models).
  • 0028 08/Jan/16 – Serviio instance uses hostname rather than localhost, more accurate detection of DSM 6.0 on Intel CPUs which need x64 FFmpeg build, added DS216play support, fixed missing libgmp on DS3612xs running DSM 5.0, change to allow easy package upgrade to forthcoming Serviio 1.6
  • 0027 12/Nov/15 – Substantial package re-write hence the long delay since the last release
    Completely refreshed documentation, please re-read
    Updated to Serviio version 1.5.2
    Java 8 is now required – this is a Serviio imposed requirement
    DSM 5.0 or newer is now required
    Updated to FFmpeg 2.7.1 and many libs e.g. x264 at latest versions from late July 2015
    Added optional hardware transcoding support for Intel Evansport systems (DS214play, DS415play) built using Synology-modified sources for FFmpeg 2.0.2
    FFmpeg is now compiled with https support via GNUTLS library (useful for online streams via plugins)
    Switched to using root account which was necessary for Evansport hardware encoding – no more adding account permissions, package upgrades will no longer break this
    Added support for Mindspeed Comcerto 2000 CPU (comcerto2k – ARM Cortex-A9 with NEON) in DS414j
    Added support for Intel Atom C2538 (avoton) CPU in DS415+
    Fontconfig fc-cache utility now included to allow troubleshooting issues with adding new fonts for additional subtitle language support
    Fontconfig variables checked on each package startup so DSM upgrades no longer break hard subs support
    Updated DejaVu subtitle font to version 2.35
    DSM Firewall application definitions added
    Tested with DSM Task Scheduler to allow package to start/stop at certain times of day, saving RAM when not needed
    Daemon init script now uses a proper PID file instead of the unreliable method of using grep on the output of ps
    Daemon init script can be run from the command line
    Improved accuracy of temp folder and plugins folder detection
    Switched to .tar.xz compression for native binaries to reduce web hosting storage footprint
    Package is now signed with repository private key
    User Agent customization while downloading Serviio binaries from serviio.org to allow download stats gathering
  • 0026 25/Mar/14 – Updated to Serviio 1.4.1.2
  • 0025 18/Mar/14 – Updated to Serviio 1.4.1.1
  • 0024 30/Jan/14 – Updated to Serviio 1.4
  • 0023 07/Nov/13 – Updated to FFmpeg 2.1 stable release
  • 0022 30/Oct/13 – Added support for Intel Atom Evansport and Armada XP CPUs in new DSx14 products
  • 0021 18/Oct/13 – Fixed zlib linking issue in QorIQ and Intel builds of FFmpeg
  • 0020 05/Sep/13 – Updated to Serviio 1.3.1
  • 0019 25/May/13 – Added support for Armada370 SoC used in DS213j (ARMv7 CPU with FPU)
  • 0018 29/Mar/13 – Updated to Serviio 1.2.1, recompiled FFmpeg to use the libRTMP source code from serviio.org for consistency
  • 0017 01/Mar/13 – Updated to Serviio 1.2
  • 0016 23/Jan/13 – Fixes for DSM 4.2
  • 015 30/Dec/13 – Updated to Serviio 1.1, fixed garbled ac3 encoding issue on ARM CPUs by compiling FFmpeg natively, rather than cross compiling. Remember to update your computer’s Serviio Console to 1.1 before connecting to manage.
  • 014 28/Oct/12 – Added support for Freescale QorIQ PowerPC CPUs used in some Synology x13 series products, switched to shared library compile of FFmpeg with some minor changes, ARM build now uses libshine encoder which allows realtime audio transcoding to MP3, edited FlowPlayer config to play AAC audio natively to make MediaBrowser more usable with online feed items.
  • 013 Fixed a bug in the plugins folder creation, fixed deletion of home directories after user deletion (DSM 4.1)
  • 012 Reduced Java prefs checking interval to once every 24 hours to allow the NAS to hibernate (was 30 seconds by default – remember to increase the time between library refreshes if you want hibernation)
  • 011 Updated Serviio to 1.0.1, slightly altered how the plugins folder path is determined
  • 010 Updated to Serviio 1.0, removed WebUI, FFmpeg wrapper no longer needed on ARM, plugins folder moved to /volume1/public/serviio/plugins to make adding/updating plugins easier
  • 009 Installation fails unless User Home service is enabled, unified the installer scripts, merged ARM and Intel packages into one which downloads the FFmpeg binary separately, used integer maths Dolby AC-3 encoder on ARM systems (no floating point)
  • 008 Fixed DST timezone support, installer no longer assumes /volume1 is primary storage volume
  • 007 Updated Serviio to 0.6.2, kairoh’s WebUI to 0.6.2c, changed package to download Serviio from the official website during installation, temp path is set by default to /volume1/@tmp on first run, and finally some CSS improvements
  • 006 Updated to Serviio 0.6.1, switched to kairoh’s Java WebUI, added timezone support, removed DSM icon when Serviio is not running, adjusted Java max heap size for systems with low RAM, specified FFmpeg path directly rather than creating a symlink in /bin so as not to interfere with other packages which may use different versions of FFmpeg
  • 005 Added Web Station dependency, EULA dialog, and links for Web UI and user forum in More Info
  • 004 Test for package repo to allow update notification
  • 0.6.0.1 v3 Hopefully fixed an issue with the Serviio DSM icon in DSM 3.2 on NAS units without Optware installed
  • 0.6.0.1 v2 Inclusion of a modified version of the PHP Web UI
  • 0.6.0.1 v1 New minor Serviio release 0.6.0.1 with some updated international translations – will upgrade 0.6 preserving the media library
  • 0.6 v1 23/Sep/11 – First public release – Serviio 0.6
  • 0.6b4 v2 Fixed permissions on transcode temporary folder following upgrade, avoiding the need for a reboot
  • 0.6b4 v1 Updated to Serviio 0.6 beta 4, added upgrade scripts to allow media database migration (install future packages over the top of this one – database is preserved)
  • 0.6b3c v2 Fixed HOME env var for serviio user (to fix librtmp issues with BBC iPlayer) and removed the need to edit the passwd file to change the shell (safer)
  • 0.6b3c v1 Initial spk test release – Serviio 0.6 beta 3

 
 

1,499 thoughts on “Serviio 2.0 package for Synology NAS

  1. Emil's avatarEmil

    Hi, I have updated from 0.6.2 to version 1.0.1. Everything works well except for that Serviio does not autostart after a reboot of the Synology NAS. Do you have any idea why it does not autostart. It did with version 0.6.2.

    Regards,
    Emil

    Reply
    1. Chewie's avatarChewie

      Same issue here. Any idea on a fix? Try explaining to the wife and kids how to log onto the Diskstation and run a package so they can watch a movie… LOL. Also, I’m getting DLNA server errors on my PS3 that never showed up before. The same errors don’t occur with the Diskstation media streamer, and never showed up on 0.6.2

      Reply
      1. Charlie's avatarCharlie

        Serviio is a great product … but another one with the same issue – all working fine except Serviio does not restart on Synology after a power failure. Any timescale for a fix?

        Am running Serviio 1.0.1 on Synology 211j with DSM 3.2

        Thanks!

      2. patters's avatarpatters Post author

        I don’t have this issue on my DS111 so I have no idea what the problem is I’m afraid.
        The way that Package Manager recalls which packages were started as the system boots is not something I interfered with.

      3. Pete's avatarPete

        Same issue for me on a DS710. Has anyone come across a fix for this yet? I don’t have enough linux experience to do much with this.

  2. Yvan's avatarYvan

    Hello

    on my synology DS110j, I have no proposition to update to the latest version 1.1. It was working before.

    Any idea ?

    Reply
    1. Yvan's avatarYvan

      Seems that your page has been considered as “Hackers/phishing” site by my provider ….

      is there a way to have the package in a other way ?

      Reply
  3. Freddy Falk's avatarFreddy Falk

    Hi, really good work, but after update from 0.6.2 to 1.0.1 my DS212j didn´t go to suspend (all automatic updates in serviio are disabled). If I stop the Serviio, my DS212j sleeps well. Any hints?

    Regards,
    Freddy

    Reply
    1. patters's avatarpatters Post author

      There will be a new package version released shortly to fix this – it’s related to the licence key checking (which was new in 1.0).

      Reply
  4. Placemat's avatarPlacemat

    Patters, you are a genius. Thank you for putting this package together, Serviio is brilliant, but Serviio with hibernation is sweeter.

    Reply
  5. James Polyhron's avatarJames Polyhron

    Great work, but noticed after upgrading from v1.0 to v1.0.1, fast-forwarding on Samsung TV no longer works – ie super slow, starts rebuffering as soon as scrubbing is pressed. Wasn’t a problem in v1.0, any ideas?

    Otherwise how can I revert back to v1.0 cause that seemed to work perfectly for me! Any advice would be great.

    Btw TV connection is unchanged (i.e. wired from tv to router, router to Synology ds212j).

    Reply
    1. Johan's avatarJohan

      I have the same problem as James on my Samsung D8-series. Not all but many of my mkv that used to play perfectly now still plays but I can not fastforward, rewind or do anything else that has to do with time (like resume where I last stopped viewing). Only Play and standard pause works ok. Some of the faulty mkv’s are now detected by the TV with a playtime of several hundred hours while some falty mkv’s still shows the correct total playtime.
      Like James I have done no change what so ever except updating Serviio on my Synology ds409.

      Reply
      1. patters's avatarpatters Post author

        I think this will be an issue with Serviio itself rather than with my package. The FFmpeg version is unchanged, so I guess something changed in the Samsumg profiles. I’ll diff profiles.xml when I have a moment.

  6. Jonas Engberg Kamper's avatarJonas Engberg Kamper

    I have a problem getting serviio to run after installing 1.0.1… the installation goes smooth but when I try to click run in the package center – nothing happens … the log is all clear aswell. I’ve tried uninstalling and reinstalling … connecting via the consol app but it doesn’t seem to be able to connect when the package isn’t running

    Reply
    1. JJ's avatarJJ

      Hi,
      also having the same problem… serviio just doesn’t start. and log size is zero….

      would be glad to have a solution, otherwise need to find another product and serviio was actually great!

      br,
      jj

      Reply
  7. Rich's avatarRich

    I used to really enjoy serviio, but now whatever I try and it also doesn’t run on my DS, a DS210j. I’ve recently upgraded to DSM 4.1 Beta and at the same time I seem to have successfully reinstalled the Java SE for Embedded 7 package, but no joy with Serviio – the install reports: “The operation failed. Please log in to DSM and retry”, yet oddly Package Center lists it as installed (???).

    Reply
  8. Nev's avatarNev

    Installed 1.0-012 on my DS411 and Serviio doesn’t show up in the main menu. Tried with Java 6 as well as 7 but no luck.

    Reply
    1. patters's avatarpatters Post author

      It won’t be in the main menu any more. You need to use the Serviio Console from another computer. Look over the notes again, they have changed for this version.

      Reply
  9. Mike Giles's avatarMike Giles

    Will Serviio Pro work with installation on Synology NAS? I have it running well on DS211+ (Serviio v1.0 not updated to latest yet) but am looking for remote access to my media.

    Reply
    1. patters's avatarpatters Post author

      The NAS units are generally a little underpowered for the transcoding required for remote viewing I’m afraid. So it would technically work but probably not very well. Even encoding MP3 audio for FlowPlayer is a strain. Every clean Serviio install has a trial of Pro for a limited time, so if you wanted to test you can but you’d have to rebuild your media database later.

      Reply
  10. Jonas's avatarJonas

    I have a DS210J. I have installed the Java SE 7 and the Serviio package. (The Java package has status Stoppet in package center, I don’t know if thats ok)
    When I open the Console on my Mac the Serviio shows up in dock, but nothing else happens.
    I had the Console running once, and indexed a couple of movies.
    On my Win7 computer the Console can’t connect to the server. I have never had it running on Win7.

    I have tried uninstalling, but it doesn’t solve it.

    Reply
  11. winxi's avatarwinxi

    hi patters, fyi: with DSM 4.1, it seems that ‘synouser –del’ wont delete the home directories anymore. So, homes/userhometest will remain after installation and homes/$DAEMON_USER will remain after uninstallation.

    cheers, winxi

    Reply
    1. patters's avatarpatters Post author

      Ah, that’s interesting. That may explain how people who get corrupted settings in CrashPlan don’t get them reset when they remove and re-install. I guess I’ll need to update all the packages…

      Reply
  12. John Parsons's avatarJohn Parsons

    Hi, I can’t find this on your site so apologies if I’ve missed it.
    I have a DS108j, will that run Servio? I have added the package repository but Servio does not show up as available.
    Thanks
    John

    Reply
  13. erikradixErik Radix's avatarerikradixErik Radix

    Hello!

    I’ve gotten some problems with Serviio and my Panasonic Viera TX-P42G20E (bought 2011) since I upgraded to Serviio 1.0.1. I’ve tried all three Panasonic profiles in the Console.
    At first it’s all going very slow. Loading the file lists takes forever and sometimes the tv even shows a “Connection to the server failed” message.
    When it works (very rarely) none of the Panasonic profiles transcode well at all. I’ve tried all three of them, but they all show the files differently.

    I have a Synology DS211j with DSM 4.1-2636 and the latest update on the tv.

    Thank you!
    /Erik

    Reply
    1. Midland45's avatarMidland45

      I have these exact problems with my Panasonic Viera. I have found the playstation 3 profile to work better than the Panasonic profile. Occasionally it will work with panasonic profile, but reading libraries is painfully slow.

      Reply
  14. pít's avatarpít

    please help me.I start serviio on synology.start tv samsung,go to media play and go to movie.I see folders which make in serviio console.no problem…changes same folders in console and save.i see change folders in tv.ok.Problem is:I dont see any video files on tv..only folders.Before i test serviio on computer.there is no problem-folders-video files-play ok

    Reply
  15. Philburg2's avatarPhilburg2

    Is anyone else seeing poor performance since going to 1.0/1.0.1? My PS3 is choking to death on certain higher bandwidth MKVs I made that used to work just fine.

    Setup:
    DS1511+
    Java 1.6.0.30 (upgrade it?)
    Serviio 1.0.1
    DSM 4.0-2228 (upgrade it?)

    Reply
  16. BartL's avatarBartL

    Just managed(with the manaul package you linked to earlier today) to install the 1.0-merged-012 version of Serviio. Now I want to connect to the web client and it asks for a password. (there is no console anymore, right? Correct me if ‘m wrong). When I try a password I get the message that I didn’t create a password, and that should create one, using the Serviio Console. How do I do that?

    Reply
  17. Bart Lauwers's avatarBart Lauwers

    Thanks for the reply. I’m sorry: bad(no) reading and not thinking of this possibility because it didn’t(have to) work that way in the earlier version. Besides came some trouble because I’m also running a Serviio server on my local Client W7 Computer, but I’ve managed(double installation). Sorry for the trouble.

    Reply
  18. Steph's avatarSteph

    Hi Patters,
    I think the repository URL is down. Do you confirm?
    Where could download the package in the meantime?

    Cheers,
    Steph.

    Reply
  19. Heffaklump's avatarHeffaklump

    adding http://packages.pcloadletter.co.uk
    I can see CraftBukkit, Minecraft and OpenRemote. But no Serviio?
    I´m on a DS213+ and using DSM4.1. I´ve also posted about a simmilar problem not finding this address at all in the serviio forum. Can my Synology which has Dual Core 1.067 GHz and 512DDR3 run synology?

    Reply
    1. patters's avatarpatters Post author

      Sadly, the new models with PowerPC CPUs have the same issue as the older PowerPC ones – Java won’t run. Oracle’s Java requires glibc version 2.4 as a minimum, and the Linux those models run has been compiled with glibc 2.3.4.

      Reply
      1. Mira's avatarMira

        Hi Guys, I´m going to purchase DS213+ and I found this reported error. Was this already fixed or does any workaround exists? Thank you

      2. patters's avatarpatters Post author

        The situation has improved since then – all my packages now work on these new processors except Serviio at the moment. The compiled FFmpeg for QorIQ CPUs doesn’t seem to work properly. I have raised a support request with Synology.

      3. patters's avatarpatters Post author

        Nope – I got Java packaged before that. Java’s not the problem. The problem getting a working compile of FFmpeg that doesn’t core dump on the actual hardware.

  20. Steph's avatarSteph

    Hi again Patters,
    I used to run the latest 0.6.something, and unistalled it to install the latest flavour (1.0-012). I am running DSM 4.0, no plugings.
    After the installation, Serviio could not index the files in my library. Finally, after looking at the logs, I saw the following:
    2012-09-08 00:55:59,209 ERROR [ProcessExecutor] Fatal error in process starting: Cannot run program “/volume1/@appstore/Serviio/bin/ffmpeg”: error=2, No such file or directory
    2012-09-08 00:55:59,209 WARN [ProcessExecutor] Cannot retrieve results, stderrReader is null

    My understanding is that serviio needs ffmpeg to parse the files and index them (?) I read what you said about the ffmpeg wrapper, I thought it wasn’t related. I saw that a few other people had problems indexing the library as well.

    Any ideas?
    Cheers from Melbourne.

    Reply
    1. patters's avatarpatters Post author

      During the problems with the repo, there was a time yesterday when the FFmpeg files were missing from the downloads area. The Serviio package is for both CPU types, but because the FFmpeg binary is quite big that gets downloaded separately during installation. So maybe if you remove the package and reinstall it now it may be fixed.
      It’s odd though, because any errors during the download should be handled and the package install should fail.

      Reply
      1. Steph's avatarSteph

        You were spot-on. I uninstalled and reinstalled the package, now ffmpeg is where is is expected to be, and indexing of my library went as planned. The previous install didn’t say it failed.

        Question:
        I tried to block the access to the “homes” shared folder for the user “serviio”. However if I add the path “/volume1/homes/userX/path/” in the library via the console, the contents are made available. Is doing a chmod 700 on the home folders the only way of really blocking the user serviio out of homes?

        Cheers, and thanks again for the great work.
        Steph.

  21. Jerome's avatarJerome

    I have installed the latest version on my Syno.

    The folder /public/serviio/plugins was not created by the installation process
    Where can I put the plugin files ?

    Reply
      1. Jerome's avatarJerome

        With the latest version 1.0.013, the plugins in the /volume1/public/servioo/plugins are loaded ( added feed plugin TF1 ) but nothing is visible on the media browser and no more log messages concerning this

      2. patters's avatarpatters Post author

        Did you add some feed URLs for TF1 content in the Console? Check the TF1 plugin forum thread for details. Online feeds generally show up on the renderer within a few minutes.

      3. Jerome's avatarJerome

        I add a feed for TF1 in the console, this one appears in the mediabrowser
        I also use the M6replay plugin. (same result as TF1 plugin even after minutes)

        The thread PluginCompilerThread detects the plugin but no messages from FeedUpdaterThread

        Can you give me a plugin feed you are sure that works ?

      4. patters's avatarpatters Post author

        I don’t use the TF1 one, but I know the M6 one no longer works without a special FFmpeg build that only works on Intel. It uses a new RTMP auth mechanism, and the legality of that RTMP 2.5 version is not clear.

  22. Tribsel's avatarTribsel

    hi. i just upgraded to latest version and everything was ok. Then I noticed that my Java 7 package was outdated, so i upgraded it too. Now when i try to load list of movies on my samsung D series tv, it shows Loading message and then “Request cannot be completed. Media play will return to main screen.” error message after a while. :( Additionaly im not able to start serviio from synology interface, i need to run console on my PC to actually launch servio (only after that its visible in source menu). Should i remove and reinstall everything from scratch? thanks!

    Reply
    1. patters's avatarpatters Post author

      Something is wrong there – you shouldn’t have to run it on your PC. That’s only needed to manage it (for instance to add additional folders to the media library). Have you tried rebooting the NAS? I have very occasionally found that while testing packages, after installing and uninstalling a great many times, that Java suddenly goes all weird and even packages that were fine fail to start. Usually a reboot cures this.

      Reply
      1. Tribsel's avatarTribsel

        no, i did no try to reboot NAS. will do. thanks for reply. BTW that error message Request cannot be completed dissappeared after my library got refreshed.

  23. Dave's avatarDave

    Hi patters – thanks for creating and sharing this package for Serviio on Synology’s NAS. Good stuff!

    I’m running the 1.0-013 package and I seem to have an issue with Serviio keeping the NAS from hibernating. If I stop the Serviio package the NAS goes to sleep at the ten minute mark as currently set in the power options in DSM 4.1. With the service on, the NAS never hibernates.

    I know this was addressed in the previous build so maybe I have something set incorrectly?.? I’m not sure.

    I have set the library refresh to 1440 minutes to make it a daily task so I don’t think that is keeping the NAS awake. I also insured that the DLNA client was off in case it was pinging Serviio.

    Any ideas?

    Thanks!

    Reply
  24. James's avatarJames

    Patters. Excellent package for Synology!!! I’m running 1.0-013 on a Synology DS411+. It works great when I serve video files from the internal drives, but it doesn’t seem to find video files on an attached usb device. I have a usb device attached, with a share assigned. The folder shows up on serviio, but no video files are found. Can you tell me if this “should” work?

    Reply
      1. James's avatarJames

        Fair enough. :-) If you get a chance to test at some point that would be great. At least my expectation would be set appropriately! Thanks.

      2. radim's avatarradim

        Hi,

        I had a similiar problem on version 1.0-012. Finally I found, that path to usb device was wrong.

        What I did, was to logon to linux and checked the real path and this one I set to Serviio. Than it worked.

        Currently, I have another issue with update to 1.0-013. The installation fails “Port 23424 is used” .. I remember I saw it before and solved it, but right now I cannot recall the solution.

        Any idea from your side?

  25. anthony's avataranthony

    Hi, total newbie here but i’ve read the above and cant find the solution to my problem.
    I have a synology Ds411J running DSM 3.2 and i use a WDTV SMP to play my files.
    I installed Java Se for embedded 6, version 1.6.0.34_010 and Serviio version 1.0-012 on my NAS.
    I installed serviio console on my windows xp laptop.

    My symptoms are firstly, when i log in to dsm as admin i cannot see the serviio icon on the dropdown, ( i can see it in package center and it is creating a log) but thats all.
    Secondly on my WDTV i can see the serviio folders on both the console and the server but they dont contain any files, i guess i need to work on the paths but is this something i do on the dsm or on the console?

    Reply
    1. sniffy's avatarsniffy

      I’ve got a similar issue on my 212j with DSM 4.0. I’ve been running this for several months, updated the package a few weeks ago. I don’t log into the Synology all that often but tonight I noticed my Serviio desktop icon is gone and I can’t figure out how to get it back. It’s still running and fortunately I have auto updates on, but I can’t change any settings!

      Reply
      1. sniffy's avatarsniffy

        Thanks for the pointer. I can understand your stated reasons for removing the WebUI but I have to say this makes your package much less useful to me. I already have Serviio installed on my PC and following your instructions didn’t seem to work. I don’t have tons of time to fiddle with this so I’ll just keep on using it until I run up against a problem I can’t overcome : /

        Thanks for your work though, it does make the NAS more useful.

      2. sniffy's avatarsniffy

        Thanks for the pointer–Eric’s package is a much better solution (for me) than installing the console on another machine. Now I have full access again!

    2. Anthony's avatarAnthony

      Right I feel like such a dum***s. I have succeeded in installing serviio on my nas and serviio console on my pc, I have the console controlling the nas, ie I can create, add, rename the folders that my media will be stored in, however I’m finding it difficult to map these folders correctly and therefore the folders are all empty when I try to view them on my tv/wdtv. Can I have a dummies guide to adding paths to folders please?

      Reply
      1. patters's avatarpatters Post author

        I’ll have a look at making this clearer. If you have a shared folder called say ‘videos’ then the true Linux path to it will usually be /volume1/video
        If you have created multiple volumes on your NAS then the volume no. could be different but that’s quite rare. Be careful – Linux paths are case sensitive (unlike Windows). So /volume1/Videos is not the same as /volume1/videos

      2. anthony's avataranthony

        I’m sure that i have the paths in order. When the console scans my media it indexes my music and my photos ok but will not index any video files at all…Can you tell what i am doing wrong from the brief description? Thanks Anthony

  26. MCE's avatarMCE

    The installer file seems not to work anymore, since the download path has changed to “http://www.serviio.org/download”. Even manually downloading the file “serviio-1.0.1-linux.tar.gz” to the “public” folder does not solve the issue.

    Could you please resolve this issue?

    Reply
      1. MCE's avatarMCE

        You are right. Nevertheless, I get the error message “There was a problem downloading … from the official download link…” Hence, I copied the file to the public shared folder. The problem is that I can not start the Serviio server after installation. It seems as if it was not installed properly. [The folger “@appstore/Serviio/” only contains “bin” with “ffmpeg-wrapper.sh” and “passgen”]

        Or, where should the serviio files be installed? How could I start the server manually?

        Best regards, MCE

      2. patters's avatarpatters Post author

        I just built a new version of the package with a deliberately incorrect filename so it fails in the way you describe. I then put the renamed serviio installer in ‘public’ and it installed fine. So it looks like the problem is with your environment. Did you definitely name the shared folder ‘public’ all in lower case?

        The installer locates the public shared folder by inspecting smb.conf so this lookup will fail if your NAS has Windows File Service disabled in Control Panel > Win/Mac/NFS

      3. MCE's avatarMCE

        Thanks for your effort. Unfortunately, the problem is still there. “public” is spelled correctly, windows file services are running, smb.conf looks good. During the installation I don’t get error messages, but in the end, nothing was installed / the Serviio server can not be started.

        Is there any way to verify/log the installation process or to carry it out manually?

      4. patters's avatarpatters Post author

        Unfortunately there is no real logging in Package Center which makes package development really quite time consuming. You could have a look through the installation script and mimic its actions manually. I have no idea why the download would be failing though. Maybe your ISP has blacklisted the server for some reason. Can you download that file on a PC?

      5. MCE's avatarMCE

        Thanks again very much for your help.

        The issue has been resolved and Serviio is running well. Uninstalling the package, rebooting the Synology server, re-installing the package was all I had to do. [I thought, that was a Microsoft-only solution…]

        Sorry for the trouble I have caused. Your enthusiasm is really appreciated!

  27. Lluis Serra Serra's avatarLluis Serra Serra

    Hi thanks for the program, a question please with the subtitles.
    I have in my nas some videos with a srt subtitle ,with the same name ,but never i can see it.
    So how i can enable it?

    Thanks a lot

    Reply
      1. patters's avatarpatters Post author

        I could be wrong but I don’t think the PS3 supports separate SRT subtitles. The Sony Bluray players and Bravia TVs certainly don’t. Some media servers get around this by transcoding to MPEG2 and burning the subs into the video as it’s encoded, but Serviio can’t do that. If you need to use an SRT with an AVI, you can pre-merge the subtitle into the file using a tool called AVIAddXSubs. The PS3 will play these with subs.

  28. Jan's avatarJan

    Hi all!
    I recently got a Philips TV (8007) and was hoping to use Serviio as the UPNP server. Installation went flawlessly, but after scanning my library I noticed that 720p and1080p movies stutter heavily. My 712+ is at 100% CPU load while playing (and also after I stop playback, but that seems to be normal as I gathered from the serviio forums)
    I already unchecked “produce best video quality” and have the Philips profile selected, so I don’t know what I could do to improve this.
    I think the only thing that would need to be transcoded is audio, since the TV doesn’t cope with DTS – but I wouldn’t imagine that this would need so much processing power.
    Maybe anyone could give me a hint? Maybe try a different profile?
    Other than this Serviio seems like the perfect solution for my streaming needs…
    Thanks!
    Jan

    Reply
    1. patters's avatarpatters Post author

      It’s likely that Serviio’s Philips device profile is transcoding your videos to MPEG2 which the CPU in the NAS isn’t quite able to keep up with. As I mentioned in the blog post – a NAS is an adequate server for renderers with good native format support (particularly those that play H.264), but isn’t generally fast enough for video transcoding. I guess you could amend the profiles.xml entry for your Philips device to set a lower MaxVBitrate (see Serviio forums/help/wiki). It is of course possible that the newer Philips TVs may natively play H.264, and perhaps you could create a new device profile. Probably best to enquire on the Serviio forum…

      Reply
      1. Jan's avatarJan

        Hi again!

        I had a look at how to modify profiles on the Serviio forums, but it wasn’t a really easy thing to understand for a newbie. I checked my profiles.xml, and by looking at existing profiles realized that the Sony Bravia 2012 profile would remux the video, but transcode audio to ac3 – just what I wanted. So for the moment I’m good with that, most movies play flawlessly. I gotta read a little more into this whole profiles business to maybe optimize some things that don’t work yet.
        Thanks for your help!

      2. patters's avatarpatters Post author

        Great, so your TV plays H.264 natively then? Please share your findings with the Serviio forum. I don’t think there’s much in the way of Philips support there so it will be very useful. Once you have something that works well it would also be helpful to figure out a regular expression to match only that particular series of TV so it can be autodetected in a future Serviio release, but without disrupting the compatibility with the older Philips models.

      3. Jan's avatarJan

        one last thing I forgot but thought might be useful: Instead of having to use SSH or telnet to access profiles.xml, you might want to install “config file editor”, a package from mertymade.
        You can then add the line “/volume1/@appstore/Serviio/config/profiles.xml, servii” to the configuration within config file editor, and easily edit the profile from within DSM.
        Cheers

      4. Jan's avatarJan

        You’re right, I didn’t notice before his repository was down…
        The packages are still available on the website though.

  29. James's avatarJames

    Came across a problem and so far have not been able to resolve it. I put a new video under one of my shares and later realized I had an issue with it. I copied a new one to the share and also corrected a name issue. For some reason my serviio console will not refresh the library. I can’t even remove and re-add the library. Every time I try to do anything, the serviio console freezes. Any suggestions?

    Reply
      1. James's avatarJames

        I uninstalled an reinstalled and it seems to be working again. Not sure why it was required.

        Thanks.

  30. Alan Francis's avatarAlan Francis

    I have set up the synology NAS and put a remote serviio console on my laptop according to https://pcloadletter.co.uk/2012/01/25/serviio-syno-package/ including the vmoptions. Once the serviio console run I setup the Sony BD player on its IP address in status and set music, photo, and video in the library tab and having set the path when loaded it found it and entered the correct name automatically.
    On switching on the laptop after the serviio console confirms it is running after a minute or so and the details remain the same.
    However having tried this process a couple of times I cannot see anything on the Sony crossbar media no matter what I tend to do. I have static set the NAS Ip address and bound it into the console.

    Have I done something wrong.

    Reply
  31. patters's avatarpatters Post author

    Can somebody with an Intel Syno on DSM 4.1 please get in touch to test a new version of the package please? I only have access to a DSM 4.0 machine which I can’t upgrade. Thx

    Reply
      1. anthony's avataranthony

        Sorry Patters.
        Any mirror or download link for the latest serviio package 1.0-013?
        Thanks

    1. Christian's avatarChristian

      Generally running latest DSM on a new 412+ box in case you need assistance still (no Linux expert though)

      Reply
    2. jjLDN's avatarjjLDN

      Hi Patters.
      Just to let you know the most recent serviio package seems to be working fine on my DS 712+, I found something intriguing though.
      The package seems to run just fine for a while and then Package Center reports package as “stopped”, but serviio is still running fine. I can see it in process list and I can connect to it using console. I can still play movies and music. Pressing “start” button in Package Center helps for another while. Saying while I mean at least few hours.
      Today reinstalled the package, so will have a look and if problem persist I will get back to you.
      Thank you for your great job and support :)

      Reply
    3. jjLDN's avatarjjLDN

      Him again.
      The package still works fine and is “still running” after reinstallation.
      I have noticed problems w mediabrowser on port 23424.
      It displays window and first few clicks works fine and then after becomes unresponsive at all, not to mention about playing any content via mediabrowser.
      I am not sure if that’s syno package related issue or serviio itself.
      You wanted feedback on Intel based syno with newest 4.1?
      Here it is. :)
      Thank you once again

      Reply
    4. jjLDN's avatarjjLDN

      Just did some research towards Flowplayer and Opera, which I use.
      There seems to be some kind of unresolved problem between them two reported by users even in previous and current versions of the browser.
      I tried Chrome then and Mediabrowser works like charm. :)
      Even transcoding works fine.
      What I have found out is sometimes using “original” quality gives best results in terms of continuous, uninterrupted playback, while using medium or even low quality settings sometimes causes little lags and delays. But Synology was performing indexing of the files at that time, so maybe I am wrong.
      I haven’t tried Firefox though.
      So I would say, that after fresh reinstall of the package and setting it up from scratch everything looks perfect and works just fine,
      Sorry for confusing posts above.

      PS. Is mediabrowser permanent feature of syno package of Serviio, because on the project website they say it is feature included only in Pro version?

      Reply
      1. patters's avatarpatters Post author

        Glad that’s sorted. I hadn’t commented because I had not experienced that issue. The Original quality setting will tend to leave the video alone (assuming it’s H.264) hence why you see better playback. However, if you were browsing content from your home Serviio while away from home, using Original quality would probably be too high bandwidth for your upstream home connection. That’s the scenario the lower quality settings are designed for. Media Browser will expire after the evaluation period unless you buy the Pro licence.

    5. jjLDN's avatarjjLDN

      I have found another problem though, which is bothering me for quite a while.
      I am not sure whom I should address this problem.
      As a media plauer I use Asus O!Play, which I have put a custom firmware.
      I have noticed that I cannot play longer / bigger mp4 files. (i.e. I got movie with two samples, all files mp4, Asus is playing samples fine, but doesn’t want to play the movie file itself.
      I was looking for help at the custom firmware forum, but for everyone else mp4 seems to work just fine.
      Today I run Media Server package by Synology itself and the very same movie in mp4 plays nicely.
      So it is not the problem with Asus firmware, but serviio server itself.
      I have left posts few times (several months ago regarding profile for Asus O!Play) at serviio forum, but never received any response.
      I tried different profiles and found out Sony Bravia lets play that mp4 file, but distort another type of files (picture) and flac files are not playable.
      I don’t know what to do.
      I really like serviio package and want to use it because of full control over library and this nice mediabrowser which I love, but this problem is just annoying.
      Any thoughts?

      Reply
      1. patters's avatarpatters Post author

        I would suggest enabling detailed debugging, play the file on the Asus box, then use the Bravia profile and repeat. Then compare the two FFmpeg command lines from the log. The Bravia one will be remuxing the MP4 to m2ts which won’t be happening if you were using the generic device profile at first. So you’ll probably need to make a device profile for the Asus device, if that turns out to be the case – which I can help you with.

    6. jjLDN's avatarjjLDN

      Thank you Patters.
      I am sure that is the matter of proper profile, that is why I asked for the assistance at serviio forum nearly a year ago and never heard any response.
      Using serviio as a server Asus doesn’t play mp4, m4a and mpc files. While using Media Server package form Synology the very same files a totaly playable. I would switch to Media Server, but for some unknown reason doesn’t refresh its own library automatically. I have to do it manually every time.
      Where should I enable detailed debugging mode?

      Reply
      1. jjLDN's avatarjjLDN

        I was comparing those two media servers I mean Serviio and Synology for a while and I could find a lot of problems with Serviio.
        I have spotted recently that using Synology Media Server I am able to use FFWD x8 and REW x8 features. Using Serviio I am able to use FFWD only x2 and that’s it. I cannot move back while playing video. While using Synology there is feature which asks me if I want to continue to play movie or skip back to the beginning If it happened I have already watched that movie and stopped at some point. This feature doesn’t exist in Serviio or at least doesn’t work with my Asus.
        To make sure the problem is Serviio related I have flashed Asus with several different original / custom firmwares and it happens at all of them the same regarding firmware on Asus. I run even Serviio on my iMac to check if that would be the problem with serviio package you created, but result were the same.
        So keeping in mind problems with transcoding files like mp4, mov etc plus lack of few features which I find really handy I think I will give up creating profile for my Asus in serviio.
        And to emphasize I don’t really think it is problem with your package. I believe it is problem with serviio itself and the attitude of the members of development team they never bothered to answer for any of my post I left on forum and in private messages (why do they charge any money with such approach?, and definitely 25 pounds is far too much).
        Therefore I really appreciate your willing to help me create the profile and resolve the problem.
        Thank you very much for your assistance and great packages you create:)

  32. Pingback: Need Help - Serviio auf Nas Synology DS212j

    1. Anthony's avatarAnthony

      Patters, for those of us who can’t add your repository with success. How can the latest version be downloaded? Thanks, Anthony

      Reply
  33. Rick Kelly's avatarRick Kelly

    Just installed Serviio on my DS212+, everything works as expected, thanks for al your work to make that happen.
    I only have an issue with online resources:
    I added some Shoutcast live streams, but they only give sound in te left channel, the right channel is completely silent. The same happens when I use the Shoutcast plugin.
    If I play flac or mp3 from my own collection both channels give sound.
    My rendering device is a WD TV Live SMP.
    Could not find anything on de Serviio forum.
    Do I need to reconfigure something or did I stumble over a bug?

    Reply
    1. Rick Kelly's avatarRick Kelly

      Just noticed something that could help to pinpoint the problem:
      One of the Shoutcast streams, Stellar Attraction, has an MP3 stream ande a AAC+ stream. The AAC+ stream has sound in both channels.

      Reply
  34. Christian's avatarChristian

    I’ve a 412+ NAS and Servioo package 1.0-014. I’m having sound sync issues on a huge portion of my MKV files as it looks (that gets transcoded due to the video format not being supported on my Samsung B650 LED TV). Does anyone else have this?

    It could start from the beginning and be 0.1-1 to a couple of seconds off for the whole video or as well be small sounds lag at a random location that makes it out of sync. A quick forward/backward seek so that it loads can in those cases make it sync back up again.

    I’ve also noticed that often the timer stops to count, so that even if I’m at 20 mins in it can show that it’s at 2 minutes, if I then do a fast forward/backward it will do that from the 2 minute mark. Not sure this is related, thinking the total time also shows a wrong number but I’d have to double check on that as maybe I’m wrong.

    Anyway experience this or can guide me to resolve this? Is it servioo, is it the NAS only build, something else?

    Reply
  35. Rafal's avatarRafal

    All Panasonic profiles doesn’t allow to read external subtitles in .srt file with .avi when started from Synology NAS. Serviio server with Panasonic profiles launched from laptop itself allow you to select subtitles under OPTION button on Panasonic’s TV set remote.

    Reply
    1. patters's avatarpatters Post author

      You do it via the Serviio Console application on your computer. It’s in the last tab I think (from memory). That will automatically upload it to the NAS instance of Serviio. It gets put in the database, so it survives package updates.

      Reply
      1. Paul's avatarPaul

        Thank you for your quick answer.
        It should be there but it’s not… The button is there on the mac package but not on the synology one.
        Is it any way to upload that manually?
        regards,
        Paul

      2. patters's avatarpatters Post author

        This is why I don’t include the various available Web Consoles with the Serviio Synology package – they’re not feature complete. For adding the licence key please use the Serviio Remote Console on a computer and use it to manage the NAS as per the Instructions section on this page. I don’t really want to get involved in supporting the various Web UIs.

      3. Paul's avatarPaul

        Thank you! It worked.
        Just added this line ‘-Dserviio.remoteHost=192.168.2.50’ in ServiioConsole.exe.vmoptions

        regards,
        Paul

      4. patters's avatarpatters Post author

        Great. Once Serviio’s all set up you generally don’t need to keep revisiting the console all the time, so in practice it’s not really a bother having it on a different computer. Especially since you’d most likely be reaching for that same computer anyway to use the WebUI.

      5. Paul's avatarPaul

        Works like a charm…. thanks again for help…
        I didn’t realized that you can have more than one console… My mistake… ;)

        regards,
        Paul

  36. Alex Lewis's avatarAlex Lewis

    Thanks so much for Serviio – I am determined to get it working!

    I’ve installed on a Mac OS X 10.8 and Synology NAS 212j. I’ve read all the installation/configuration notes above but was still not seeing any files from my Sony Blu Ray (S590). I just noticed even your own mediaserver is not showing them.

    I can see the folders in the paths added to the library in the colsole, but no files – either photo, music or video files.

    The Serviio user does have read permissions in the NAS.

    Where should I start??

    Reply
  37. Alan Francis's avatarAlan Francis

    I have previously left a comment but got no reply. I am not a software guy just someone who has been advised by Sony to load servio as I have a Synology NAS and a BD player with network connection.
    I have run the java and Servio packages from the package centre in the NAS and set the IP addr of the NAS to 249 and the BD player to 248.
    I downloaded the serviio package and run the console on my laptop with the script in the vmoptions. the console confirms that the server is running and the folders are correct in the library.
    However in the status tab the 2 devices are found along with the laptop, and the BD player is set to sony BD player with the rest as generic. The console states that the NAS and the BD player are unknown but the laptop (windows media player) goes active when I open it. The Crossbar on the sony has never found the NAS.

    Can anyone help please.

    Reply
  38. Joe144's avatarJoe144

    Hello Patters,
    First thanks for all your great packages for synology.

    I have bought a ds413 with DSM 4.1.
    I have installed your packages :
    Java SE for Embedded 6 version 1.6.0_34-012
    Serviio 1.0-014

    But i have a problem. Since i have installed them my ds413 never goes anymore in hibernation mode. I have read the previous comments and i’ve seen that someone else seems to have the same problem (see : https://pcloadletter.co.uk/2012/01/25/serviio-syno-package/comment-page-3/#comment-9591).
    Do you know how to fix it ?

    Another question, serviio is always using more than 60% of the Memory of my NAS. Is it normal ?
    PID PPID USER STAT VSZ %MEM %CPU COMMAND
    2516 2510 serviio S 656m 64.9 0.0 /volume1/@appstore/java6/jre/bin/java -Xmx512m -Xms20M -XX:+UseP

    Thanks for your help.

    Reply
  39. 1lomeno3's avatar1lomeno3

    Is there any new regarding automatic refresh (means on demand, not every specified interval in console)? I would really appreciate the same feature like default Synology Media Server (no need for manual refresh, just refresh when I add new file) because without it, Serviio is for me almost useless (I do not want to force refresh from PC or web a I do want to have a hybernation feature).

    Reply
  40. Flippi's avatarFlippi

    Hi,
    On top of the page I read: “Install either one of my Java SE for Embedded Synology packages (Java 6 or Java 7). Only Marvell Kirkwood or Intel CPUs are supported.”
    Maybe you forgot to add ‘QorIQ’ ?

    Reply
  41. augusteto's avataraugusteto

    Thank you for this. I have DS212 and DSM 4.1. I’ve tried to follow the instructions but after installing the Java SE and the Serviio package, nothing happens when I try to run the Serviio packing in DSM 4.1. What should I do?

    Reply

Leave a reply to 1lomeno3 Cancel reply