Update:
João made a twonky package for the Alt-F - install it via the Alt-F UI from Packages > Alt-F, then you will find it in the Service > User list in the Alt-F to configure and start - João gives details in his post, below.
My old clunky way of installing:
The Alt-F admin UI provides at least two other DNLA/UPNP media server options, MiniDLNA (now known as ReadyMedia, but the service is still called minidlna) and MediaTomb (which is no longer maintained). I tried both of them, and liked MiniDLNA best because its default media navigation made more sense to me, using Album Artist rather than track Artist in the default navigation of music files. It was very quick to navigate even very large folders, and it was serving the images that I expected for my CDs (from folder.jpg cover art images on the file system I think). The latest version of minidlna, 1.2.1, was available through the Alt-F package installer.
It took me some time to discover that after using the Alt-F admin UI to install a new service (Packages > Alt-F), the service does not start until it is configured in the Alt-F admin UI (Services > User). Easy now that I know.
The process to install Twonky is a little more manual, but in brief, visit
http://download.twonky.com/ to download the generic Linux ARM little endian uclibc 0.9.2 version (not the dns-323 version), unpack it, and create symlinks to two libraries that twonky expects to be numbered differently (see the starttwonkyXXX.sh script, and more detailed steps below).
Twonky is closed source, non-free, commercial, paid for software, and if you're happy with the costs, then it offers fast indexing and navigation of media files, and good support for serving files to different renderers (players) which often have quirks to work around. Most Twonky configuration can be done via the web UI that it runs on port 9000, but if you want to go deeper you can edit the twonkyserver.ini file and perhaps the resources/view_definitions.xml file to customise further. Twonky Server has a long history of updates for many platforms, available to download at
http://download.twonky.com/.
In a quick test of Twonky 8.5.1 against MiniDNLA 1.2.1, twonky was quicker to build its initial file DB of 16,000 music files and 330 video files; it used less CPU while it was doing it. After the build, "top" reported less memory usage for twonky vs minidnla: 17.8MB vs 25MB for similar indexes.
These are the steps I took to run the 8.5.1 install on my DNS-323 with Alt-F 1.0 firmware. I expect there are better ways to get this running, for example, so that it starts and stops with the NAS. Please offer advice if you can see a better way to do this :)
I run twonky from a normal user account. In my install I create a Twonky appdata folder inside the install folder. I've ended up with a history of Twonky install folders on my disk like this:
drwxrwxrwx 6 504 703 4096 Apr 26 2015 twonky639
drwxrwxrwx 6 504 703 4096 Apr 26 2015 twonky728
-rwxr-xr-x 1 twonky users 2998 Jun 29 09:58 starttwonky851.sh
And also set of simple start scripts that look like this:
-rwxrwxrwx 1 504 703 2465 Apr 26 2015 starttwonky639.sh
-rwxrwxrwx 1 504 703 2638 Apr 26 2015 starttwonky728.sh
-rwxr-xr-x 1 twonky users 2472 Nov 25 2017 starttwonky851.sh
The start scripts start twonky using a command line that includes the -appdata and -logfile command line options, which allows me to very easily switch between them if I want to try out a newer version.
My steps to install are:
- Visit the Alt-F admin UI (Setup... > Users) and create a user account called twonky
- Log in (ssh) to the twonky user account
- Create a new directory for the new release (so for Twonky version 8.5.1, mkdir twonky851)
- Unpack the release zip file into the new folder ( unzip twonky-armel-uclibc-1.0.9-8.5.1.zip -d twonky851 )
- Create a starttwonky851.sh script, and edit it to point to the new install (see below, edit the second line only)
- Run ./starttwonky851.sh (you can now log out of the shell and the server will keep running)
My starttwonkyXXX.sh files look like this (where XXX is the version numbers):
#!/bin/sh
TWONKYDIR=/home/twonky/twonkyXXX
# Stop any twonky server that is already running
killall twonkystarter && sleep 5
# ...waiting for a clean shutdown avoids a database rebuild at the next start
killall -9 twonkystarter
killall -9 twonkyserver
killall -9 twonkymedia
APPDATADIR=${TWONKYDIR}/appdata
TWONKYLOG=${APPDATADIR}/twonkyserver-log.txt
TWONKYSRV=twonkystarter
cd ${TWONKYDIR}
# For a D-Link NAS with Alt-F v1 firmware:
# create symlinks to the numbered versions of libraries that Twonky expects
test -e /lib/libpthread.so.1 || test -e ${TWONKYDIR}/libpthread.so.1 || ln -s /lib/libpthread.so.0 ${TWO
NKYDIR}/libpthread.so.1
test -e /lib/libc.so.1 || test -e ${TWONKYDIR}/libc.so.1 || ln -s /lib/libuClibc.so.0 ${TWONKYDIR}
/libc.so.1
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${TWONKYDIR}
# Create a directory for working files (-p for 'if not existing already'):
mkdir -p "${APPDATADIR}"
# Use a command line option to specify the location of the application data
# (which includes the ini file) and log file:
"./$TWONKYSRV" -logfile "${TWONKYLOG}" -appdata "${APPDATADIR}"
# If -appdata is not given on the command line and the user running twonky has a home
# directory then .twonky is created in the home directory and used for appdata.
# If Upload is enabled but no upload folders are specified then a directory
# Twonky will be created and used for music, photo and video uploads