Difference between revisions of "How to setup Universal Media Server 8.0.1 under Ubuntu 18.04"
From steamWiki
Line 194: | Line 194: | ||
=References= | =References= | ||
*https://www.slsmk.com/how-to-install-universal-media-server-ums-on-ubuntu-in-headless-mode/ | *https://www.slsmk.com/how-to-install-universal-media-server-ums-on-ubuntu-in-headless-mode/ | ||
+ | |||
+ | [[Category: Linux]] |
Revision as of 10:12, 9 July 2019
Universal Media Server (or UMS for short) is a pretty cool program that will both create a browsable website of your media as well as stream it to compliant devices that support UPnP or DLNA.
This howto is adapted from this article describing how to install an older version of UMS on an older version of Ubuntu.
Install UMS
- Install the necessary packages
- run sudo apt-get install software-properties-common
- run sudo apt-get update
- run sudo apt-get install openjdk-8-jre openjdk-8-jre-headless
- run apt-get install mediainfo dcraw vlc-bin mplayer mencoder
- Install the latest version of UMS
- run cd /opt
- run sudo wget https://downloads.sourceforge.net/project/unimediaserver/Official%20Releases/Linux/UMS-8.0.1.tgz
- run sudo tar -xvzf UMS-8.0.1.tgz
- run sudo ln -s /opt/ums-8.0.1 ums
- run sudo rm UMS-8.0.1.tgz
- Setup UMS to auto start at boot
- run sudo nano /etc/init.d/ums and copy the following into that file.
#!/bin/bash # ### BEGIN INIT INFO # Provides: ums # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts UMS program. # Description: Java Upnp Media Server dedicated to PS3 ### END INIT INFO #set -x # Author: Papa Issa DIAKHATE <paissad@gmail.com> # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Universal Media Server" NAME=ums UMS_PROFILE=/etc/UMS.conf DAEMON=/opt/ums/UMS.sh DAEMON_OPTS="console" SCRIPTNAME=/etc/init.d/ums UMS_START=1 # Wether to start or not UMS ver at boot time. DODTIME=30 # Time to wait for the server to die, in seconds. # If this value is set too low you might not # let the program to die gracefully and 'restart' will not work test -x $DAEMON || exit 1 # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # Include ums defaults if available if [ -f "/etc/default/$NAME" ] ; then . /etc/default/$NAME fi # May we run the init.d script ? [ $UMS_START = 1 ] || exit 1 #-------------------------------------------------------------------------- # Some color codes txtred=$'\e[0;31m' # Red txtylw=$'\e[0;33m' # Yellow txtrst=$'\e[0m' # Text Reset #-------------------------------------------------------------------------- warnout(){ echo >&2 -e ""$txtylw"Warning:$txtrst $1" } #-------------------------------------------------------------------------- running(){ pid=`pgrep -f 'java .*ums.jar.*'` } #-------------------------------------------------------------------------- do_start(){ running && { warnout "$NAME is already running !"; exit 0; } echo "Starting $DESC : $NAME" UMS_PROFILE="$UMS_PROFILE" start-stop-daemon --start --quiet --background --oknodo \ --exec $DAEMON -- $DAEMON_OPTS } #-------------------------------------------------------------------------- do_stop(){ running || { warnout "$NAME is NOT running !"; exit 0; } local countdown="$DODTIME" echo -e "Stopping $DESC : $NAME \c " kill -9 $pid while running; do if (($countdown >= 0)); then sleep 1; echo -n .; ((--countdown)) else break; fi done echo # If still running, then try to send SIGINT signal running && { \ echo >&2 "Using kill -s SIGINT instead"; \ echo >&2 "If you see this message again, then you should increase the value of DODTIME in '$0'."; \ kill -2 $pid; \ } if [ -e "/usr/share/ums/debug.log" ]; then count=9 while [ $count -ge 1 ] do if [ -e "/usr/share/ums/debug.log.$count" ]; then plus=$((count+1)) mv "/usr/share/ums/debug.log.$count" "/usr/share/ums/debug.log.$plus" fi count=$((count-1)) done if [ -e "/usr/share/ums/debug.log" ]; then mv "/usr/share/ums/debug.log" "/usr/share/ums/debug.log.1" fi fi return 0 } #-------------------------------------------------------------------------- do_force-stop(){ running || { warnout "$NAME is NOT running !"; exit 0; } echo "Stopping $DESC : $NAME" kill -9 $pid if [ -e "/usr/share/ums/debug.log" ]; then count=9 while [ $count -ge 1 ] do if [ -e "/usr/share/ums/debug.log.$count" ]; then plus=$((count+1)) mv "/usr/share/ums/debug.log.$count" "/usr/share/ums/debug.log.$plus" fi count=$((count-1)) done if [ -e "/usr/share/ums/debug.log" ]; then mv "/usr/share/ums/debug.log" "/usr/share/ums/debug.log.1" fi fi } #-------------------------------------------------------------------------- do_status(){ echo -n " * $NAME is " ( running || { echo "NOT running "; exit 0; } ) ( running && { echo "running (PID -> $(echo $pid))"; exit 0; } ) } #-------------------------------------------------------------------------- case "$1" in start|stop|force-stop|status) do_${1} ;; restart|reload) do_stop do_start ;; force-restart|force-reload) do_force-stop do_start ;; *) echo "Usage: $SCRIPTNAME {start|stop|force-stop|restart|force-restart|reload|force-reload|status}" exit 1 ;; esac
- run chmod +x /etc/init.d/ums
- run update-rc.d ums defaults
- Configure UMS
- run cp /opt/ums/UMS.conf /etc/
- run cp /opt/ums/WEB.conf /etc/ums/
- run sudo nano /etc/UMS.conf and set the following variables (you'll have to setup folders and folders_monitored to something specific for your environment)
- server_name = MyMediaServer
- language = en-US
- minimized = true
- auto_update = true
- hide_advanced_options = false
- single_instance = true
- chromecast_extension = true
- prettify_filenames = true
- show_server_settings_folder = true
- atz_limit = 3000
- show_recently_played_folder = true
- folders = /mnt/media/Video/Movies, /mnt/media/Video/TV_Shows, /mnt/media/Video/Web_Shows, /mnt/media/Music, /mnt/media/Comedy
- folders_monitored = /mnt/media/Video/Movies, /mnt/media/Video/TV_Shows, /mnt/media/Video/Web_Shows, /mnt/media/Music, /mnt/media/Comedy
- web_port = 80
- web_conf = /etc/ums/WEB.conf
- name = main
- start UMS by running sudo service ums start
- visit the UMS webpage by going to http://<UMSServerHostname> in a web browser