*UPDATE* – minidlna is now a package in Debian! It’s also a package in Ubuntu 11.10 so you can just install it from your package manager. ;)
I stream to my Xbox 360 and other devices from a file server in the office.
For years I’ve used (and purchased) TwonkyMedia Server but I was never truly happy with it. Last week I stumbled upon MiniDLNA and I have to say that this is the best streaming server software hands down.
MiniDLNA by jmaggard
“MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully compliant with DLNA/UPnP-AV clients. It is developed by a NETGEAR employee for the ReadyNAS product line. So if you are looking for a NAS, please consider ReadyNAS first!”
From what I’ve read it looks like MiniDLNA is included in ReadyNas boxes but when you install it on a decent server it is amazing.
Issues I’ve had with Twonky that are fixed by MiniDLNA:
MiniDLNA keeps a database file on the server that makes loading files on my Xbox 360 really quick. I have 28,000 MP3’s that used to take over 10 seconds to load using Twonky. It would also have have to rescan after scrolling through a few pages which is slow and annoying. MiniDLNA is up instantly and hasn’t needed to rescan contents yet.
If you keep your database in /tmp, MiniDLNA will recreate the database each boot which can be helpful for those of us who rename or move files regularly. MiniDLNA scanned my music picture and video folders in less than 3 minutes. (~34,000 files.) Twonky will recan everything from scratch each service reset.
Stability and Quality
Sometimes Twonky decides you don’t have any music to share or the database wouldn’t update new files until a service restart (which for me would scan all shares again.) MiniDLNA is rock solid, configurable and even streams well over wireless which Twonky (and others) could never achieve.
Installing MiniDLNA On Debian Squeeze
I installed the latest version from CVS and was up and running in minutes. I had to install these prerequisites to be able to run the make command:sudo aptitude install cvs libavcodec52 libavcodec-dev libavformat52 libavformat-dev libavutil49 libavutil-dev libflac8 libflac-dev libvorbis libogg0 libogg-dev libid3tag0 libid3tag0-dev libexif12 libexif-dev libjpeg62 libjpeg62-dev
Download the latest version
cd /home/user/src cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/minidlna co -P minidlna
Build the code
cd ./minidlna/ make
Install MiniDLNA (Run as root user)
su make install
Install Startup Script
cp /home/user/src/minidlna/linux/minidlna.init.d.script /etc/init.d/minidlna chmod -x /etc/init.d/minidlna
Enable Startup Script
sysv-rc-conf is a great little tool for enabling and disabling startup services use the arrows to get to minidlna and press the spacebar to tick 2, 3, 4 and 5.
Example Configuration File (Comments removed for Space)
enable_tivo=no strict_dlna=no notify_interval=900 serial=12345678
Enjoy Your New Server
After a week of testing and watching I haven’t had a single hiccup. This is the best media streaming experience I’ve found and the dev will be working on transcode support as well.