MiniDLNA: The best streaming software hands down!

*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!”

sourceforge.net/projects/minidlna/

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:

Speed

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.

Maintenance

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:anonymous@minidlna.cvs.sourceforge.net:/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.

sysv-rc-conf
 

Configure

nano /etc/minidlna.conf

Example Configuration File (Comments removed for Space)

port=8200
network_interface=eth0
media_dir=V,/mnt/video
media_dir=A,/mnt/music
media_dir=P,/home/user/pictures
media_dir=/mnt/data/torrentflux
db_dir=/var/cache/minidlna
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1

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.

 

31 replies on “MiniDLNA: The best streaming software hands down!”

  1. Hi,

    sirry for my english. I have a problem wiht make because the following error is coming up
    make
    ./genconfig.sh
    -e
    ERROR! Cannot continue.
    -e The following required libraries are either missing, or are missing development headers:
    -e libvorbis libsqlite3
    make: *** [config.h] Error 1

    apt-get install libvorbis
    Unable to locate package libvorbis
    And what happens with the libsqlite3 error? I’m not a specialist in Linux, sorry.
    What can i do to fix the problem? Any hints?

    Regards from Germany
    Andy

  2. Thanks for the tutorial. minidlna runs fine on debian squeeze for armel. 🙂

  3. Andreas, I also got
    -e The following required libraries are either missing, or are missing development headers:
    -e libvorbis libsqlite3

    I solved it by running
    sudo apt-get install libvorbis-dev libsqlite3-dev

  4. Just so someone knows about it. I installed Debian squeeze on a Buffalo Linkstation Live (v2). To compile minidlna I also had to install gcc, make, libvorbis-dev, and libsqlite3-dev.

    I also needed liborbis-dev and libsqlite3-dev to compile in Ubuntu 10.10.

  5. Oops,

    I just found this blog. Btw. nice blog. I am using miniDLNA since early 2011. So far it is rock stable and always running like a breeze, on a 800Mhz ARM CPU with 128 MB RAM (NAS). Whow. There are some other background processes running on the machine, miniDLNA is using almost no resources.

    For those who are using it with a Samsung TV there is a nice patch on Sourceforge (in the miniDLNA project) that generates chabters to jump to and also plays .mkv movies. Also ff and rew is usable with mkvs. So if someone is usinf miniDLNA on a Samy (mine is one of the C-Series) you should give the patch a try. Ah, almost forgotten, the patch is, as far as I know, only for the miniDLNA Version 1.0.18.

    Best regards and keep it up
    Sven

  6. Pingback: Server Hilfe
  7. Followed the above instructions exactly but when I run make I get:

    make: *** No targets specified and no makefile found. Stop.

    What am I doing wrong?

  8. Hi,

    I followed the steps but got the following error when make. Appreciate if someone can advsie.

    Thank you

    ================================================
    make all-recursive
    make[1]: Entering directory `/home/user1/minidlna’
    Making all in po
    make[2]: Entering directory `/home/user1/minidlna/po’
    test ! -f ./minidlna.pot ||
    test -z “da.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo nb.gmo nl.gmo pl.gmo ru.gmo sl.gmo sv.gmo” || make da.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo nb.gmo nl.gmo pl.gmo ru.gmo sl.gmo sv.gmo
    make[3]: Entering directory `/home/user1/minidlna/po’
    rm -f da.gmo && : -c –statistics -o da.gmo da.po
    mv: cannot stat `t-da.gmo’: No such file or directory
    make[3]: *** [da.gmo] Error 1
    make[3]: Leaving directory `/home/user1/minidlna/po’
    make[2]: *** [stamp-po] Error 2
    make[2]: Leaving directory `/home/user1/minidlna/po’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/user1/minidlna’
    make: *** [all] Error 2

  9. Some more details. I ran the following command:-

    Download csv from internet
    autogen.sh —> no error message & looks normal
    configure —> no error message & looks normal
    make —> above error

  10. I am running Debian Squeeze and used an easier method. Minidlna (1.0.21) is currently available in Testing (Wheezy). Since I am not intent on getting the latest version (1.0.22) and don’t want to have to worry about fixing the init scripts, I decided to build from the Wheezy source instead.

    First, my /etc/apt/sources.list has no entries for deb-src. (If you have other lines for deb-src, you might have to specify which release you want to download the source for.) So I added the following line:
    deb-src http://ftp.us.debian.org/debian/ wheezy main

    Update your sources:
    apt-get update

    Get build package dependencies:
    apt-get build-dep minidlna

    Download and build at the same time:
    apt-get -b source minidlna

    There should now be a minidlna deb package in your current folder. Install:
    dpkg -i file.deb
    (in my case:
    dpkg -i minidlna_1.0.21+dfsg-1_amd64.deb
    )

    Thanks very much for the info, and I hope my post can be equally helpful.

  11. “*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. ”

    in which the repository ?

  12. I am running Debian Squeeze on a PogoPlug, and my Xbox360 drops the minidlna signals, when not playing media. I have to restart server and restart minidlna. Then will show up again in Xbox360 video sources. Anyone got a suggestion why the Xbox360 loses contact with the minidlna server ?

    1. Figured this out myself, if I start the minidlna server with “service minidlna start” it would start then fail later. But if I use the /usr/sbin/minidlna, all is good. FYI to all.

  13. Pingback: jeux
  14. If you store the database in /dev/shm does that speed up the scan since the drive scan wouldn’t be competing with writes for /tmp. My guess is it’s not going to make a big difference for a desktop, or a small database, but folks running MiniDLNA on a RasberryPi might notice a boost.

    1. I gave it a try on seagate dockstar. I got a significant improvement with only 4 pictures of 1Mo each (1200×900). With larger pictures, browsing is very slow (5s delay between eac pic).
      Do you think /dev/sh tips may improve it?

  15. Its like you read my mind! You seem to know so much about this,
    like you wrote the book in it or something. I think that
    you can do with some pics to drive the message home a little bit, but other than
    that, this is great blog. A fantastic read. I will
    definitely be back.

    1. Thanks for the feedback. I think I’m going to put a few more things up I’ve learned over the years and get back into that blogging swing.

  16. First off I would like to say superb blog! I had a quick question
    that I’d like to ask if you don’t mind. I was curious to know how you center yourself and clear your thoughts prior to writing.
    I’ve had difficulty clearing my thoughts in getting my ideas out there. I do take pleasure in writing however it just seems like the first 10 to 15 minutes are generally lost just trying to figure out how to begin. Any suggestions or tips? Appreciate it!

    1. I spent a while on this post I think. The way I start is with vague headings or bullet points. I like structure to keep me focused.

      Then; read it. Over and over. I rewrite and rearrange things as well as look for things to remove. You can write pages but people usually don’t need to read it to understand. I would say 50% of my original draft survived.

  17. Hi guys
    The way to fix mv: cannot stat `t-da.gmo’: No such file or directory is easy. In fact, there are two ways

    1) ./configure –disable-nls
    2) apt-get install gettext-devel

Comments are closed.