DLNA server

From SaruWiki
Jump to navigation Jump to search

Target of this section of the wiki is to explain how to install and configure your Debian server so that it can act as a multimedia repository for your DLNA-capable equipment. In this case, we're going to optimize our DLNA server for a Samsung SmartTV, which supports Samsung's "AllShare", a slightly extended variant of DLNA.

Compiling and installing

We start out by downloading the latest version of MiniDLNA from its SourceForge website. At the time of writing, it's version 1.0.25. This file is extracted to the /usr/src/ directory:

localhost:/usr/src# tar xzf minidlna_1.0.25_src.tar.gz
localhost:/usr/src# cd minidlna-1.0.25/
localhost:/usr/srcminidlna-1.0.25# make
./genconfig.sh

ERROR!  Cannot continue.
The following required libraries are either missing, or are missing development headers:

libavcodec libavformat libavutil libflac libvorbis libogg libid3tag libexif libjpeg

make: *** [config.h] Error 1
localhost:/usr/srcminidlna-1.0.25# _

MiniDLNA has some dependencies; executing the make command has shown us which dependencies are unfulfilled (your list will probably differ). In the above case, the cure for the missing libraries is

localhost:/usr/src# apt-get install libavcodec-dev libavformat-dev libflac-dev libvorbis-dev libexif-dev libjpeg-dev libid3tag0-dev 

After installing all packages that MiniDLNA needs, the output of make may be similar to:

localhost:/usr/src/minidlna-1.0.25# make 
./genconfig.sh
Compiling minidlna.c
Compiling upnphttp.c
Compiling upnpdescgen.c
Compiling upnpsoap.c
Compiling upnpreplyparse.c
Compiling minixml.c
Compiling getifaddr.c
Compiling daemonize.c
Compiling upnpglobalvars.c
Compiling options.c
Compiling minissdp.c
Compiling uuid.c
Compiling upnpevents.c
Compiling sql.c
Compiling utils.c
Compiling metadata.c
Compiling scanner.c
scanner.c: In function âinsert_containersâ:
scanner.c:172: warning: format â%lXâ expects type âlong unsigned intâ, but argument 3 has type âsqlite_int64â
scanner.c:195: warning: format â%lXâ expects type âlong unsigned intâ, but argument 3 has type âsqlite_int64â
scanner.c:207: warning: format â%lXâ expects type âlong unsigned intâ, but argument 4 has type âsqlite_int64â
scanner.c:276: warning: format â%lXâ expects type âlong unsigned intâ, but argument 3 has type âsqlite_int64â
scanner.c:281: warning: format â%lXâ expects type âlong unsigned intâ, but argument 4 has type âsqlite_int64â
scanner.c:297: warning: format â%lXâ expects type âlong unsigned intâ, but argument 4 has type âsqlite_int64â
scanner.c:318: warning: format â%lXâ expects type âlong unsigned intâ, but argument 3 has type âsqlite_int64â
scanner.c:323: warning: format â%lXâ expects type âlong unsigned intâ, but argument 4 has type âsqlite_int64â
scanner.c:338: warning: format â%lXâ expects type âlong unsigned intâ, but argument 4 has type âsqlite_int64â
Compiling inotify.c
Compiling tivo_utils.c
Compiling tivo_beacon.c
Compiling tivo_commands.c
Compiling tagutils/textutils.c
Compiling tagutils/misc.c
Compiling tagutils/tagutils.c
Compiling playlist.c
Compiling image_utils.c
Compiling albumart.c
Compiling log.c
Linking minidlna
Compiling testupnpdescgen.c
Linking testupnpdescgen
localhost:/usr/src/minidlna-1.0.25# _

After succesful compilation, we can simply install with

localhost:/usr/src/minidlna-1.0.25# make install
install -d /usr/sbin
install minidlna /usr/sbin
localhost:/usr/src/minidlna-1.0.25# _

Starting MiniDLNA