*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-devDownload 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.
Â
Thanks for the tutorial. In order to make the minidlna file executable i had to use chmod +x /etc/init.d/minidlna instead of chmod -x /etc/init.d/minidlna
thanks for that. hope you like minidlna!
E: Unable to locate package libvorbis
if in debian you should install libvorbis-dev
#aptitude install libvorvis-dev
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
you need to install packages
if youre in debian based (ubuntu) you can use
#apt-get install libvorvis-dev libsqlite3-dev
Hi, works well, thanks for the guidance. Any idea when transcode support will be available ?
Thanks for the tutorial. minidlna runs fine on debian squeeze for armel. 🙂
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
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.
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
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?
There is a PPA for minidlna if you are running 11.04 or below
https://launchpad.net/~stedy6/+archive/stedy-minidna
It’s available by default on 11.10
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
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
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.
“*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 ?
Hola,
Muy bueno el post, guay
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 ?
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.
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.
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?
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.
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.
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!
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.
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
Thank you for sharing your thoughts. I truly appreciate your efforts and I am waiting for your next post thank you once again.