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.
Pull requests are very welcome and reporting issues is encouraged.
View our documentation online at https://docs.gerbera.io.
- Browse and playback your media via your network on all kinds of devices.
- Web UI with a tree view of the database and the file system, allowing to add/remove/edit/browse your media
- Metadata extraction from MP3, OGG, AAC, M4A, FLAC, JPG (and many more!) files.
- Media thumbnail support
- Highly flexible media format transcoding via plugins / scripts
- Automatic directory rescans (timed, inotify)
- User defined server layout based on extracted metadata
- Supports last.fm scrobbing
- On the fly video thumbnail generation
- Support for external URLs (create links to internet content and serve them via UPnP to your renderer)
- Runs on Linux, BSD, Mac OS X, and more!
- Runs on x86, ARM, MIPS, and more!
Head over to the docs page on Installing Gerbera for instructions on how to install Gerbera.
Visit our docs for instructions to Compile Gerbera.
git clone https://github.com/gerbera/gerbera.git
mkdir build
cd build
cmake ../gerbera -DWITH_DEBUG=YES
make -j4
sudo make install
Library | Min Version | Required? | Note | Compile-time option | Default | Script |
---|---|---|---|---|---|---|
libupnp | 1.14.0 | XOR libnpupnp | pupnp | install-pupnp.sh | ||
libnpupnp | 4.1.2 | XOR libupnp | npupnp | WITH_NPUPNP | Disabled | |
libuuid | Depends on OS | Not required on *BSD | ||||
pugixml | Required | XML file and data support | install-pugixml.sh | |||
libiconv | Required | Charset conversion | ||||
sqlite3 | 3.7.0 | Required | Database storage | |||
zlib | Required | Data compression | ||||
fmtlib | 7.1.3 | Required | Fast string formatting | install-fmt.sh | ||
spdlog | 1.8.5 | Required | Runtime logging | install-spdlog.sh | ||
duktape | 2.1.0 | Optional | Scripting Support | WITH_JS | Enabled | install-duktape.sh |
mysql | Optional | Alternate database storage | WITH_MYSQL | Disabled | ||
curl | Optional | Enables web services | WITH_CURL | Enabled | ||
taglib | 1.12 | Optional | Audio tag support | WITH_TAGLIB | Enabled | install-taglib.sh |
libmagic | Optional | File type detection | WITH_MAGIC | Enabled | ||
libmatroska | Optional | MKV metadata | WITH_MATROSKA | Enabled | ||
ffmpeg/libav | Optional | File metadata | WITH_AVCODEC | Disabled | ||
libexif | Optional | JPEG Exif metadata | WITH_EXIF | Enabled | ||
libexiv2 | Optional | Exif, IPTC, XMP metadata | WITH_EXIV2 | Disabled | ||
lastfmlib | 0.4.0 | Optional | Enables scrobbling | WITH_LASTFM | Disabled | install-lastfm.sh |
ffmpegthumbnailer | Optional | Generate video thumbnails | WITH_FFMPEGTHUMBNAILER | Disabled | ||
inotify | Optional | Efficient file monitoring | WITH_INOTIFY | Enabled |
Scripts for installation of (build) dependencies from source can be found under scripts
.
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-2021
Gerbera Contributors