Streaming media

From ArchWiki
Jump to: navigation, search

Businesses are storing their data on the network for ages now, but the past few years, there has been a trend in home networking to put all content on a central server and distributing it to the home computers and dedicated appliances on the network. This page offers an overview of the possible packages to stream digital media (video, audio and images, and in several cases also online content) from your server to your clients.


Using a uPNP or DLNA-compliant server

Generic instructions

  1. Your server should be set up to use multicasting. This will ensure that your clients will always find the server automatically on the network:
    1. Setting it up manually in /etc/rc.conf:
ROUTES=(!gateway multicast)
multicast="-net netmask eth0"
    1. Using avahi and mdns
  1. Some of the hereafter mentioned software packages do not get along together. If you're experiencing problems, make sure you're not running two of them at the same time.


See MediaTomb


See Minidlna

Fuppes [1]


See uShare

Coherence [2]

Fairly new server, implemented in Python. Should be handling transcoding in the svn-version. Looked very promising, but development seems to have stalled somehow.

PS3 Mediaserver [3]

Server implemented in java. Has very good default transcoding profiles for several clients, but lacks good information for headless servers.

  • Install pms-svn from AUR using your favorite AUR-helper program
  • In /etc/conf.d/pms: set $PMS_USER to the username that will run the service
  • set the options in your /opt/pms/PMS.conf. These, for example, work with my PS3:
folders = <comma-separated list of folders that hold your media>
hostname = <optional, preferably leave blank. If not, use IP-address or FQDN>
port = <optional, default 5001>
network_interface = <optional, only use if pms chooses wrong interface>
language =
thumbnails = true
thumbnail_seek_pos = 10
nbcores = 2 # number of cores the cpu has
turbomode = true
minimized = false
hidevideosettings = false
charsetencoding = 850
engines = mencoder,avsmencoder,tsmuxer,mplayeraudio,ffmpegaudio,tsmuxeraudio,mencoderwebvideo,mplayervideodump,mplayerwebaudio,ffmpegdvrmsremux
autoloadsrt = true
avisynth_convertfps = true
avisynth_script = #AviSynth script is now fully customisable
transcode_block_multiple_connections = false
tsmuxer_forcefps = true
tsmuxer_preremux_pcm = false
tsmuxer_preremux_ac3 = false
audiochannels = 6
audiobitrate = 384
maximumbitrate = 0
skiploopfilter = false
enable_archive_browsing = false
mencoder_fontconfig = false
mencoder_font =
mencoder_forcefps = false
mencoder_usepcm = false
mencoder_intelligent_sync = true
mencoder_decode =
mencoder_encode = keyint=1:vqscale=1:vqmin=2
mencoder_nooutofsync = true
mencoder_audiolangs = dut,eng
mencoder_sublangs = dut,eng
mencoder_audiosublangs = dut,eng
mencoder_subfribidi = false
mencoder_ass_scale = 1.0
mencoder_ass_margin = 10
mencoder_ass_outline = 1
mencoder_ass_shadow = 1
mencoder_noass_scale = 3
mencoder_noass_subpos = 2
mencoder_noass_blur = 1
mencoder_noass_outline = 1
mencoder_subcp = cp1252
mencoder_ass = false
mencoder_disablesubs = false
mencoder_yadif = false
mencoder_scaler = false
mencoder_scalex = 0
mencoder_scaley = 0
ffmpeg = -g 1 -qscale 1 -qmin 2
# The next value has to be chosen very carefully: to low = possible stuttering if the network is congested, but 
# to high causes the java heap to be to small. Check the -Xmx-setting in /opt/pms/ and raise it to 1024M
# or higher if you see unexplainable Out Of Memory-errors in the debug.log
maxvideobuffer = 400
use_mplayer_for_video_thumbs = false
# The next value sorts your media files. 0 (default) = A-Z while 1 = Z-A
sort_method = 
usecache = true
mencoder_encode = keyint=1:vqscale=1:vqmin=3

There are numerous other options, but they are completely undocumented. A list with all options can be found here.

  • Do:
# mkdir /opt/pms/database
# chown <username> /opt/pms/database
# chown <username> /var/log/pms.log
# /etc/rc.d/pms start
  • Use your web browser to go to: http://<ip-address-of-your-server>:5001/console/home and click on 'index files and folders'
  • (optionally) watch the output with 'tail -f /var/log/pms.log' or 'tail -f /opt/pms/debug.log' for any problems.
  • After the indexing has ended, you are done.

Rygel [4]

Server and client based on GUPnP and written in Vala - will be used in Gnome 3.0

Using other software


See article at Mpd


The VLC media player includes a Universal Plug'n'Play module and can browse and play from a server.


Using other software