Skip to content
forked from gerbera/gerbera

UPnP Media Server for 2020: Stream your digital media through your home network and consume it on all kinds of UPnP supporting devices.

License

Notifications You must be signed in to change notification settings

gehwolf/gerbera

This branch is 2001 commits behind gerbera/gerbera:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e5a33ee · Nov 20, 2020
Nov 20, 2020
Oct 5, 2020
Mar 26, 2017
Jun 24, 2020
Jun 24, 2020
Oct 21, 2020
Nov 17, 2020
Oct 21, 2020
Nov 20, 2020
Nov 20, 2020
Nov 18, 2020
Oct 22, 2020
Oct 13, 2020
Apr 19, 2017
Mar 27, 2020
Jan 16, 2013
Oct 26, 2020
Oct 17, 2020
May 29, 2017
Apr 17, 2020
Jan 2, 2017
Nov 17, 2020
Jul 27, 2020

Repository files navigation

Gerbera - UPnP Media Server

Current Release Build Status Docker Version Documentation Status IRC

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.

Gerbera was originally based on MediaTomb

Documentation

View our documentation online at http://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, 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.

Building

Gerbera uses CMake.

Quick start build instructions:

# Assuming Ubuntu base
git clone https://github.com/gerbera/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_FFMPEGTHUMBNAILER=1 -DWITH_EXIF=1 -DWITH_LASTFM=1
make -j4
sudo 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/gerbera/gerbera.git
mkdir build
cd build
cmake ../gerbera
make edit_cache
# Enable some of the WITH... options
make -j4
sudo make install

Install prerequisites.

On Ubuntu 16.04

apt-get install uuid-dev libsqlite3-dev libmysqlclient-dev \
libmagic-dev libexif-dev libcurl4-openssl-dev libspdlog-dev libpugixml-dev
# If building with LibAV/FFmpeg (-DWITH_AVCODEC=1)
apt-get install libavutil-dev libavcodec-dev libavformat-dev libavdevice-dev \
libavfilter-dev libavresample-dev libswscale-dev libswresample-dev libpostproc-dev

The following packages are too old in 16.04 and must be installed from source: taglib (1.11.x), and libupnp (1.12.x).

libupnp must be configured/built with --enable-ipv6. See scripts/install-pupnp.sh for details.

On macOS

The Gerbera Team maintains a Homebrew Tap to allow for easy installation of Gerbera Media Server on macOS.

https://github.com/gerbera/homebrew-gerbera

Dependencies

Lib Version Required? Note Compile-time option Default
libupnp >=1.12.1 XOR libnpupnp pupnp
libnpupnp >=4.0.11 XOR libupnp [nppupnp]
libuuid Depends on OS On *BSD native libuuid is used, others require e2fsprogs-libuuid
pugixml Required pugixml
libiconv Required
sqlite3 Required Database storage
zlib Required
fmtlib Required
spdlog Required
duktape 2.1.0 Optional Scripting Support WITH_JS Enabled
mysql Optional Alternate database storage WITH_MYSQL Disabled
curl Optional Enables web services WITH_CURL Enabled
taglib 1.11.1 Optional Audio tag support WITH_TAGLIB Enabled
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
ffmpegthumbnailer Optional Generate video thumbnails WITH_FFMPEGTHUMBNAILER Disabled
inotify Optional Efficient file monitoring WITH_INOTIFY Enabled

Licence

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-2020
    Gerbera Contributors

About

UPnP Media Server for 2020: Stream your digital media through your home network and consume it on all kinds of UPnP supporting devices.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 72.1%
  • JavaScript 17.9%
  • CMake 3.6%
  • C 2.4%
  • HTML 2.1%
  • CSS 0.6%
  • Other 1.3%