Gerbera is a UPnP media server which allows you to stream your digital media through your home network and consume it on a variety of UPnP compatible devices.
Gerbera is based on MediaTomb 12.1 which is dead upstream, so this is my attempt to kick it back into life.
Pull requests are very welcome and reporting issues is encouraged.
- Browse and playback your media via UPnP
- Metadata extraction from mp3, ogg, flac, jpeg, etc. files.
- Exif thumbnail support
- User defined server layout based on extracted metadata (scriptable virtual containers)
- Automatic directory rescans (timed, inotify)
- Web UI with a tree view of the database and the file system, allowing to add/remove/edit/browse your media
- Highly flexible media format transcoding via plugins / scripts
- Allows to watch YouTube(tm) videos on your UPnP player device [Broken]
- Supports last fm scrobbing using lastfmlib
- On the fly video thumbnail generation with libffmpegthumbnailer
- Support for external URLs (create links to internet content and serve them via UPnP to your renderer)
- Support for ContentDirectoryService container updates
- Active Items (experimental feature), allows execution of server side scripts upon HTTP GET requests to certain items
- Highly flexible configuration, allowing you to control the behavior of various features of the server
- runs on Linux, FreeBSD, NetBSD, Mac OS X, eCS
- runs on x86, Alpha, ARM, MIPS, Sparc, PowerPC
- Rebranded as Gerbera, new Logo!
- Actively maintained/developed.
- Removed bundled
libupnp
- Now requires upstream 1.8 version. - Removed bundled
libuuid
. - Ported to CMake.
- Enhanced cover art support for MP4, FLAC, Vorbis & WMA files (via TagLib).
- TagLib handler opens files read only: stops inotify rescanning the dir on access causing "Object not found" see here.
- Album folders have "creator" metadata (artist).
- Album folders have artwork: either from external files or the tracks embedded artwork.
- Per-track external art support:
filename-of-track.jp\*
(minus the audio file extension). - Removed
libflac
use/dep. - Remove
libmp4v2
use/dep. - Remove
id3lib
use/dep. - Removed broken DVD image support (dvdnav).
- IPv6 Support
- Replaced SpiderMonkey (mozjs) dependency with embedded duktape engine.
- WIP port to "Modern C++" / tidying.
- Lots of other stuff.
Stephen Czetty maintains a Ubuntu PPA.
The v00d00 overlay contains a git live ebuild. It will get added to the main portage tree at some point.
The project has been ported to CMake.
apt-get install uuid-dev libexpat1-dev libsqlite3-dev libmysqlclient-dev
apt-get install libmozjs185-dev libmagic-dev libexif-dev libcurl4-openssl-dev
The following packages are too old in 16.04 and must be installed from source:
taglib
(1.11.x), and libupnp
(1.8.x).
libupnp
must be configured/built with --enable-ipv6
. See
scripts/install-pupnp18.sh
for details.
git clone https://github.com/v00d00/gerbera.git
mkdir build
cd build
cmake ../gerbera -DWITH_MAGIC=1 -DWITH_MYSQL=1 -DWITH_CURL=1 -DWITH_JS=1 \
-DWITH_TAGLIB=1 -DWITH_AVCODEC=1 -DWITH_EXIF=1 -DWITH_LASTFM=1
make -j4 VERBOSE=1
make install
Alternatively, the options can be set using a GUI (make sure to press "c" to configure after toggling settings in the GUI):
git clone https://github.com/v00d00/gerbera.git
mkdir build
cd build
cmake ../gerbera
make edit_cache
# Enable some of the WITH... options
make -j4 VERBOSE=1
make install
Lib | Version | Required? | Note |
---|---|---|---|
libupnp | 1.8 | Required | pupnp with IPv6 support |
libuuid | Required | ||
expat | Required | ||
sqlite3 | Required | ||
mysql | Optional | Client Libs | |
curl | Optional | Enables web services | |
taglib | 1.11 | Optional | Audio tag support |
libmagic | Optional | File type detection | |
ffmpeg/libav | Optional | File metadata | |
libexif | Optional | JPEG Exif metadata | |
lastfmlib | Optional | Enables scrobbling | |
master: Where the action happens
vanilla: Sourceforge mediatomb with patches to build in 2016
gentoo: Pretty much as vanilla (shipped as net-misc/mediatomb).
GPLv2
Copyright (C) 2005
Gena Batyan <bgeradz at mediatomb dot cc>
Sergey Bostandzhyan <jin at mediatomb dot cc>
Copyright (C) 2006-2008
Gena Batyan <bgeradz at mediatomb dot cc>
Sergey Bostandzhyan <jin at mediatomb dot cc>
Leonhard Wimmer <leo at mediatomb dot cc>
Copyright (C) 2016-2017
Gerbera Contributors