We use miniDLNA from http://sourceforge.net/projects/minidlna/
Version used in this write up is minidlna_1.0.22_src.tar.gz
At the build box, install these packages:
apt-get -t squeeze-backports install libavformat53 \ libflac8 libvorbisfile3 libid3tag0 sqlite3 libexif12 \ libavformat-dev libflac-dev libid3tag0-dev libsqlite3-dev \ libexif-dev libjpeg62-dev uuid-dev libvorbis-dev
tar zxvf minidlna_1.0.22_src.tar.gz cd minidlna-1.0.22/ make
If ok, strip the executable:
strip minidlna
Move the resulting executable and config files, linux/minidlna.init.d.script, minidlna and minidlna.conf, to voyage box.
# after rsync'd to voyage box /tmp cd /tmp mv minidlna.init.d.script /etc/init.d/minidlna chmod 755 /etc/init.d/minidlna chmod 700 minidlna mv minidlna /usr/sbin/minidlna chmod 644 minidlna.conf mv minidlna.conf /etc/ insserv minidlna
Init script modification for working with minissdpd:
### BEGIN INIT INFO # Provides: minidlna # Required-Start: $network $local_fs $remote_fs minissdpd # Required-Stop:: $network $local_fs $remote_fs # Should-Start: $all # Should-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: DLNA/UPnP-AV media server ### END INIT INFO
Init script modification for media on usbhd:
MEDIA_DIR=/mnt/usbhd/dlna_media test -d $MEDIA_DIR || exit 0
Sample config for ruuning with usb hd:
# File: /etc/minidlna.conf
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200
# network interfaces to serve, comma delimited
network_interface=br0
# set this to the directory you want scanned.
# * if have multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to a specific content type, you
# can prepend the type, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
media_dir=/mnt/usbhd/dlna_media
# set this if you want to customize the name that shows up on your clients
friendly_name=Voyage Server
# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
db_dir=/mnt/usbhd/minidlna_db
# set this if you would like to specify the directory where you want MiniDLNA to store its log file
log_dir=/var/log
# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes
# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=no
# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
# which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no
# default presentation url is http address on port 80
#presentation_url=http://www.mylan/index.php
# notify interval in seconds. default is 895 seconds.
notify_interval=300
# serial and model number the daemon will report to clients
# in its XML description
serial=20110921
model_number=1
# specify the path to the MiniSSDPd socket
#minissdpdsocket=/var/run/minissdpd.sock
# use different container as root of the tree
# possible values:
# + "." - use standard container (this is the default)
# + "B" - "Browse Directory"
# + "M" - "Music"
# + "V" - "Video"
# + "P" - "Pictures"
# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
#root_container=.