Gerbera – Gerbera is an UPnP Media Server. It allows you to stream your digital media throughout your home network and listen to/watch it on a variety of UPnP compatible devices. (Source Code) GPL-2.0
C++
Documentation
View our documentation online at https://docs.gerbera.io.
Features
- 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, wavpack, 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!
Installing
Head over to the docs page on Installing Gerbera for instructions on how to install Gerbera.
Building
Visit our docs for instructions to Compile Gerbera or Compile latest Gerbera.
Quick start build instructions:
git clone https://github.com/gerbera/gerbera.git
mkdir build
cd build
cmake ../gerbera -DWITH_DEBUG=YES
make -j4
sudo make install
Dependencies
Library | Min Version | Recommended | Latest tested | Required? | Note | Default |
---|---|---|---|---|---|---|
libupnp | 1.14.6 | 1.14.12 | 1.14.12 | XOR libnpupnp | pupnp | |
libnpupnp | 4.2.1 | 4.2.1 | 4.2.1 | XOR libupnp | npupnp | Disabled |
libuuid | Depends on OS | Not required on *BSD | ||||
pugixml | 1.10 | 1.12.1 | Required | XML file and data support | ||
libiconv | Required | Charset conversion | ||||
sqlite3 | 3.7.0 | 3.35.5 | 3.36.0 | Required | Database storage | |
zlib | Required | Data compression | ||||
fmtlib | 7.1.3 | 7.1.3 | 8.1.1 | Required | Fast string formatting | |
spdlog | 1.8.1 | 1.8.5 | 1.10.0 | Required | Runtime logging | |
duktape | 2.1.0 | 2.6.0 | 2.7.0 | Optional | Scripting Support | Enabled |
mysql | Optional | Alternate database storage | Disabled | |||
curl | Optional | Enables web services | Enabled | |||
taglib | 1.12 | 1.12 | 1.12 | Optional | Audio tag support | Enabled |
libmagic | Optional | File type detection | Enabled | |||
wavpack | 5.1.0 | 5.4.0 | 5.4.0 | Optional | WavPack metadata support | Disabled |
libmatroska | 1.6.3 | 1.6.3 | Optional | MKV metadata | Enabled | |
libebml | 1.4.2 | 1.4.2 | Optional | requird by libmatroska | Enabled | |
ffmpeg/libav | Optional | File metadata | Disabled | |||
libexif | Optional | JPEG Exif metadata | Enabled | |||
libexiv2 | v0.26 | v0.27.5 | Optional | Exif, IPTC, XMP metadata | Disabled | |
lastfmlib | 0.4.0 | 0.4.0 | 0.4.0 | Optional | Enables scrobbling | Disabled |
ffmpegthumbnailer | 2.2.0 | 2.2.2 | Optional | Generate video thumbnails | Disabled | |
inotify | Optional | Efficient file monitoring | Enabled |
License
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-2022
Gerbera Contributors