media streaming

koel

23 May 2020Last Commit11450 (2564/yr)Github Stars63Issues

Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies – CSS grid, audio, and drag-and-drop API to name a few – to do its job.

For system requirements, installation/upgrade guides, troubleshooting etc., head over to the Official Documentation.

If you're interested in the development of a client, Koel's offical API documentation is available here.

beets

23 May 2020Last Commit9382 (959/yr)Github Stars678Issues

Beets is the media library management system for obsessive music geeks.

The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music.

Here's an example of beets' brainy tag corrector doing its thing:

Because beets is designed as a library, it can do almost anything you can imagine for your music collection. Via plugins, beets becomes a panacea:

streama

13 May 2020Last Commit8290 (1720/yr)Github Stars281Issues

Docs: https://docs.streama-project.com/

Ever had a huge bookshelf full of shows and movies? Ever wanted to digitalize them, but didn't have a good way of organizing the files? Worry no more! Streama is your own personal Netflix for just such a purpose!

https://streama.demo-version.net/
credentials: username: demoUser | password: demoUser
Feel free to play around there as much as you like (everything is reset at night)
We will keep this demo updated with our newest releases as they come, so that you can check out new features there first before deciding to deploy them in your own environments.

peertube

23 May 2020Last Commit7147 (1565/yr)Github Stars329Issues

Website | Join an instance | Create an instance | Chat with us | Donate

Be part of a network of multiple small federated, interoperable video hosting providers. Follow video creators and create videos. No vendor lock-in. All on a platform that is community-owned and ad-free.

Developed with by Framasoft

Client

Server

PeerTube is a free, decentralized and federated video platform developed as an alternative to other platforms that centralize our data and attention, such as YouTube, Dailymotion or Vimeo. 🎬

jellyfin

24 May 2020Last Commit6652 (4563/yr)Github Stars548Issues




Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!

mopidy

23 May 2020Last Commit6502 (624/yr)Github Stars179Issues

Mopidy is an extensible music server written in Python.

Mopidy plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a variety of MPD and web clients.

Stream music from the cloud

Vanilla Mopidy only plays music from files and radio streams. Through extensions, Mopidy can play music from cloud services like Spotify, SoundCloud, and Google Play Music. With Mopidy's extension support, backends for new music sources can be easily added.

snapcast

20 May 2020Last Commit2974 (552/yr)Github Stars40Issues

Synchronous audio player

Snapcast is a multiroom client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It's not a standalone player, but an extension that turns your existing audio player into a Sonos-like multiroom solution. The server's audio input is a named pipe /tmp/snapfifo. All data that is fed into this file will be sent to the connected clients. One of the most generic ways to use Snapcast is in conjunction with the music player daemon (MPD) or Mopidy, which can be configured to use a named pipe as audio output.

zoneminder

23 May 2020Last Commit2697 (379/yr)Github Stars60Issues

All documentation for ZoneMinder is now online at https://zoneminder.readthedocs.org

ZoneMinder is an integrated set of applications which provide a complete surveillance solution allowing capture, analysis, recording and monitoring of any CCTV or security cameras attached to a Linux based machine. It is designed to run on distributions which support the Video For Linux (V4L) interface and has been tested with video cameras attached to BTTV cards, various USB cameras and also supports most IP network cameras.

ampache

22 May 2020Last Commit2427 (338/yr)Github Stars391Issues

Ampache

www.ampache.org | ampache.github.io

News:

Ampache is a web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.

Ampache's usefulness is heavily dependent on being able to extract correct metadata from embedded tags in your files and/or the file name. Ampache is not a media organiser; it is meant to be a tool which presents an already organised collection in a useful way. It assumes that you know best how to manage your files and are capable of choosing a suitable method for doing so.

musikcube

10 May 2020Last Commit1954 (377/yr)Github Stars48Issues

a cross-platform, terminal-based audio engine, library, player and server written in c++.

musikcube compiles and runs easily on windows, macos and linux. it also runs well on a raspberry pi with raspbian, and can be setup as a streaming audio server.

check out the installation guide to get up and running.

be sure to also read through a the user guide, which describes app's navigation paradigm and lists all the default keyboard shortcuts.

it looks something like this on windows:

and this on macos:

and on linux:

groovebasin

30 May 2019Last Commit1748 (198/yr)Github Stars127Issues

Music player server with a web-based user interface.

Run it on a server connected to some speakers in your home or office. Guests can control the music player by connecting with a laptop, tablet, or smart phone. Further, you can stream your music library remotely.

Groove Basin works with your personal music library; not an external music service. Groove Basin will never support DRM content.

The web client feels like a desktop app, not a web app. It predicts what the server will do in order to hide network lag from the user.

mstream

23 May 2020Last Commit1518 (340/yr)Github Stars28Issues

mStream is a personal music streaming server. You can use mStream to stream your music from your home computer to any device, anywhere.

This is the easiest way to install mStream:

LinuxServer.io have produced a multiarch Alpine container for mStream for x86-64, arm64 & armhf which is rebuilt automatically with any base image package updates or new releases of mStream and features persistent database and album images, and the possibility of advanced usage by editing config.json directly.

Simply pulling linuxserver/mstream should retrieve the correct image for your arch, but you can also pull specific arch images or mStream releases via tags.

airsonic

22 May 2020Last Commit1302 (451/yr)Github Stars327Issues

Airsonic is a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.

Airsonic is designed to handle very large music collections (hundreds of gigabytes). Although optimized for MP3 streaming, it works for any audio or video format that can stream over HTTP, for instance AAC and OGG. By using transcoder plug-ins, Airsonic supports on-the-fly conversion and streaming of virtually any audio format, including WMA, FLAC, APE, Musepack, WavPack and Shorten.

mpd

13 May 2020Last Commit1109 (134/yr)Github Stars104Issues

http://www.musicpd.org

A daemon for playing music of various formats. Music is played through the server's audio device. The daemon stores info about all available music, and this info can be easily searched and retrieved. Player control, info retrieval, and playlist management can all be managed remotely.

For basic installation instructions read the manual.

MPD is released under the GNU General Public License version 2, which is distributed in the COPYING file.

restreamer

19 May 2020Last Commit1098 (246/yr)Github Stars60Issues

Datarhei/Restreamer offers smart free video streaming. Stream H.264 video of IP cameras live to your website. Upload your live video on YouTube-Live, IBM Watson, Twitch, Vimeo or any other streaming solutions e.g. Wowza-Streaming-Engine. Our Docker-Image is easy to install and runs on Linux, MacOS and Windows. Datarhei/Restreamer can be perfectly combined with single-board computers like Raspberry Pi and Odroid. It is free (licensed under Apache 2.0) and you can use it for any purpose, private or commercial.

volumio2

21 May 2020Last Commit1070 (196/yr)Github Stars306Issues

Volumio is an headless audiophile music player, designed to play music with the highest possible fidelity. Volumio runs on most embedded devices (Raspberry Pi, UDOO, Odroid, Cubieboard, Beaglebone, Pine64, Allo Sparky...) and on any ordinary PC (x86).

LATEST

Logins

Root login via ssh has been disabled by default, however user volumio can become root.

Developers are welcome! Check out the resources:

Some VM images are available, although they're not always kept up-to-date. It can be an alternative to developing directly on target (Raspberry Pi, or whatever).

sync

17 May 2020Last Commit946 (130/yr)Github Stars44Issues

CyTube is a project I started in early 2013 as a hobby project to build my own clone of synchtube.com (which shut down in March 2013).

The basic concept is that users register channels where connected viewers can watch videos from different video hosts (e.g., YouTube, Twitch) and the playback is synchronized for all the viewers in the channel.

Each channel has a playlist where users can queue up videos to play, as well as an integrated chatroom for discussion.

The official server is located at https://cytu.be, but there are other public servers hosted for various communities.

azuracast

23 May 2020Last Commit921 (227/yr)Github Stars210Issues

AzuraCast is a self-hosted, all-in-one web radio management suite. Using its easy installer and powerful but intuitive web interface, you can start up a fully working web radio station in a few quick minutes.

AzuraCast works for web radio stations of all types and sizes, and is built to run on even the most affordable VPS web hosts. AzuraCast's mascot is Azura Ruisselante, created by Tyson Tan.

AzuraCast is currently in beta. Many web radio stations already run AzuraCast, but keeping your server up-to-date with the latest code from the GitHub repository is strongly recommended for security, bug fixes and new feature releases. It's unlikely, but updates may result in unexpected issues or data loss, so always make sure to keep your station's media files backed up in a second location.

sonerezh

27 Feb 2020Last Commit732 (140/yr)Github Stars134Issues

Sonerezh is a self-hosted web application which allows you to listen to your music, from anywhere.

All you have to do is to specify where your music is stored, and Sonerezh will build its database based on the audio file's metadata. Then you can browse your music library through a simple and intuitive Web UI.

➡️ Let's try the latest version on sonerezh.bzh/demo!

Follow us on Twitter if you like the project, and don't forget to support it making a donation.

The standard installation instruction are available in the documentation on sonerezh.bzh. If you want to contribute to the project or if you prefer to use Git and Composer you can follow the steps below.

gerbera

24 May 2020Last Commit590 (102/yr)Github Stars94Issues

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

View our documentation online at http://docs.gerbera.io.

Head over to the docs page on Installing Gerbera.

Gerbera uses CMake.

Alternatively, the options can be set using a GUI (make sure to press "c" to configure after toggling settings in the GUI):

airtime

18 May 2018Last Commit583 (58/yr)Github Stars7Issues

black_candy

22 May 2020Last Commit567 (247/yr)Github Stars5Issues

Black candy is a self hosted music streaming server built with Rails and Stimulus. The goal of the project is to create a real personal music center.

Black candy use docker for simplify deployment, development and test process. So you should install docker and docker-compose first.

Black candy support mp3, m4a, ogg, opus, flac and wav formats now.

Black candy has built docker images.

First, you need clone this project to your server.

And checkout to latest version.

Notice, the git tag you checkout must match with the version that blackcandy docker image you use, otherwise will cause some unexpected issue.

stretto

18 Apr 2020Last Commit515 (80/yr)Github Stars26Issues

Go to Stretto, or if you would like to host it yourself, scroll down to the developer instructions.

Stretto works by backing every single one of your tracks with a video or song from youtube or soundcloud, and plays them transparently through an iframe embedded on the page.

Here is a list of some of the features Stretto has:

A basic Android application is in the works here: https://github.com/benkaiser/stretto-mobile-next/

Setup a .env file to setup your environment variables:

That's it! Go to http://localhost:3000

homehost

11 Jan 2020Last Commit485 (213/yr)Github Stars4Issues

Run npm install under the client and server directories
In ./config.yml, set the media paths, and specify a working API key for TMDb API and Spotify Web API

If you dont have keys, you can request API authorization from Spotify at https://developer.spotify.com/documentation/web-api/, and TMDb at https://developers.themoviedb.org/3/getting-started/introduction

Your media must appear in the path set by config.yml
🎥 Movies

🎵 Music

Tracks not found on Spotify can be put in a directory titled Unknown Album sans disc/ track number

ympd

22 Apr 2019Last Commit454 (71/yr)Github Stars76Issues

Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS

http://www.ympd.org

To run ympd with SSL support:

2013-2014 andy@ndyk.de

polaris

17 Apr 2020Last Commit454 (120/yr)Github Stars11Issues

One of the following:

You can now start Polaris from the start menu or from your desktop, Polaris will also start automatically next time you restart your computer. You can tell when Polaris is running by its icon in the notification area (near the clock and volume controls).

This installation process puts the polaris executable in ~/.local/bin/polaris and several data files under ~/.local/share/polaris.

From here, you might want to adjust your system to run Polaris on login using Cron, Systemd or whichever method your distribution endorses.

moped

21 May 2017Last Commit424 (65/yr)Github Stars13Issues

Moped is a responsive HTML5 + JavaScript client for the Mopidy music server.

Make sure to have Mopidy 1.0.0 or higher installed on your music server. Also make sure that the HTTP extension is enabled.

Install from PyPI on your music server:

Alternatively, clone the GitHub repository and copy all files from the /dist/ directory to the webclient directory on your server.

Browse to the Moped app on your Mopidy server (e.g. http://localhost:6680/moped).

(from the Mopidy web site)

As a simple security measure, the web server is by default only available from localhost. To make it available from other computers, change the http/hostname config value. Before you do so, note that the HTTP extension does not feature any form of user authentication or authorization. Anyone able to access the web server can use the full core API of Mopidy. Thus, you probably only want to make the web server available from your local network or place it behind a web proxy which takes care or user authentication. You have been warned.

mopidy-musicbox-webclient

23 Apr 2020Last Commit365 (49/yr)Github Stars25Issues

Mopidy MusicBox Webclient (MMW) is a frontend extension and JavaScript-based web client especially written for Mopidy.

Install by running:

Or, if available, install the Debian/Ubuntu package from apt.mopidy.com.

MMW is shipped with default settings that should work straight out of the box for most users:

The following configuration values are available should you wish to customize your installation further:

Enter the address of the Mopidy server that you are connecting to in your browser (e.g. http://localhost:6680/musicbox_webclient)

htpc-manager

03 Feb 2019Last Commit344 (51/yr)Github Stars118Issues

Hellowlol HTPC Manager fork

===== A python based web application to manage the software on your HTPC. HTPC Manager combines all your favorite software into one slick interface.

Requires Python 2.6 or 2.7

Start with python Htpc.py

If you're missing something don't be afraid to make a request :)

See here for full list: https://github.com/Hellowlol/HTPC-Manager/compare/styxit:master...master2

Before you open a new issue, make sure you:

If you still have problems: INCLUDE THIS IN YOUR ISSUE

See the wiki

dss

13 Jul 2019Last Commit294 (68/yr)Github Stars3Issues

tube

12 Apr 2020Last Commit275 (1565/yr)Github Stars12Issues

tube is a Youtube-like (without censorship and features you don't need!) Video Sharing App written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feed.

Open http://127.0.0.1:8000/ in your Browser!

Open http://127.0.0.1:8000/ in your Browser!

Open http://DOCKER_MACHINE_IP:8000/ in your Browser!

Where DOCKER_MACHINE_IP is the IP Address of your Docker Node.

Open http://127.0.0.1:8000/ in your Browser!

A Production Deployment can be found at https://tube.mills.io/ -- This is run and managed via a Docker Swarm cluster with a Docker-Compose / Stack very similiar to the one you can find in the repo: docker-compose.yml

myflix

20 Mar 2020Last Commit225 (78/yr)Github Stars0Issues

A Netflix clone!

Myflix tries to be a somewhat simple and lightweight "DIY Netflix", similar to Plex, streama or Emby, for your DIY NAS, especially aimed at the Raspberry Pi/Odroid/etc ecosystem. It's not meant or designed to be fancy (if you have the hardware and want a ton of functionality, go for other solutions :) ), but the bare minimum to be somewhat pretty, fast and usable. The scripts create json databases that store the files location and metadata, these databases are then used to create static web pages that can be served from any web server!
I still have some commenting to do, I swear I will do it when I have time...

navidrome

23 May 2020Last Commit199 (47/yr)Github Stars69Issues

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!

Any feedback is welcome! If you need/want a new feature, find a bug or think of any way to improve Navidrome, please fill a GitHub issue or join the discussion in our Subreddit. If you want to contribute to the project in any other way (ui/backend dev, translations, themes), please join the chat in our Discord server.

gonic

23 May 2020Last Commit182 (158/yr)Github Stars16Issues

the default login is admin/admin.
password can then be changed from the web interface

note: unfortunately if you do this above, you'll be compiling gonic locally on your machine (if someone knows how I can statically link sqlite3 and taglib, please let me know so I can distribute static binaries)

or else you can run in docker, available on dockerhub as sentriz/gonic

then start with docker-compose up -d

mistserver

26 Feb 2020Last Commit173 (23/yr)Github Stars4Issues

lms

22 May 2020Last Commit161 (28/yr)Github Stars9Issues

LMS is a self-hosted music streaming software: access your music collection from anywhere using a web interface!

A demo instance is available, with the following limitations:

LMS provides several ways to help you find the music you like:

The recommendation engine uses two different sources:

Notes on the self-organizing map:

The API version implemented is 1.12.0 and has been tested on Android using the official application, Ultrasonic and DSub.

Since LMS uses metadata tags to organize music, a compatibility mode is used to navigate through the collection using the directory browsing commands.

rapidbay

31 Mar 2020Last Commit126 (82/yr)Github Stars8Issues

Rapid bay is a self hosted video service/torrent client that makes playing videos from torrents as easy as:

Requires Docker

App will be running at http://localhost:5000

The default setting downloads all subtitle languages but it might get slow if there are many for a given file.

To solve this you need to customize which languages you want.

Add the env variable SUBTITLE_LANGUAGES to your docker params like so:

Rapidbay supports using the torrent indexer Jackett for searching. Just provide the the env variables JACKETT_HOST and JACKETT_API_KEY like so:

audioserve

20 May 2020Last Commit98 (41/yr)Github Stars7Issues

Simple personal server to serve audio files from directories. Intended primarily for audio books, but anything with decent directories structure will do. Focus here is on simplicity and minimalistic design.

Server is in Rust, default web client (HTML5 + Javascript) is intended for modern browsers (latest Firefox or Chrome) and is integrated with the server. There is also Android client and API for custom clients.

For some background and video demo check this article Audioserve Audiobooks Server - Stupidly Simple or Simply Stupid?

bluecherry-apps

04 May 2020Last Commit83 (9/yr)Github Stars74Issues

Currently building from source requires running pre-configured scripts to generate some of the required files for a build. In the past we used chroots for build environments, however it is possible to build for your specific distributions using the following command:

In the root of bluecherry-apps run the following command.

scripts/build_pkg_native.sh

Example:

root@buildtest:~/git/bluecherry-apps# scripts/build_pkg_native.sh

Please do not use 'dh' specific commands, the scripts generate several files (version.h for example) and the Debian control files for you.

mopidy-party

16 Apr 2020Last Commit81 (17/yr)Github Stars7Issues

Mopidy web extension designed for party! Let your guests manage the sound ;)

See this blog entry for some details about this package.

You must install mopidy (version 3) and some backends (soundcloud, spotify, youtube...).

PROD: you just have to install pip and then:

DEV: After cloning the repository, install by running:

To use the interface, simply use your browser to visit your Mopidy instance's IP at port 6680 to see all available web interfaces. For example, http://192.168.0.2:6680/

Direct access to Mopidy Party should then be: http://192.168.0.2:6680/party/

koozic

14 Apr 2020Last Commit71 (19/yr)Github Stars6Issues

KooZic is a music streaming server based on the Odoo application. It gives you the possibility to access your music collection anywhere, from any device.

For a standard installation, please follow the instructions from the official website.

compactd

25 May 2018Last Commit70 (23/yr)Github Stars23Issues

.

(pronounce compact-D)

Compactd aims to be a self-hosted remote music player in your browser, streaming from you own personal server. It will also allows to download new music onto your server just like headphones does.

Redux, React, PouchDB, Webpack, Typescript, Socket.io...

Follow the steps. Once it is down everything is configured!

You need at least to locations, one for the http part and one for the socket server which allows realtime data update. Example:

Just run

This will spawn a pm2 process in the background if it's not already running for process management.

friends-radio

09 Oct 2017Last Commit20 (5/yr)Github Stars0Issues

See setup instructions here.

synctube

23 May 2020Last Commit17 (61/yr)Github Stars1Issues

Synchronized video viewing with chat and other features. Lightweight modern implementation and very easy way to run locally.

Default channel example: http://synctube-example.herokuapp.com/

It's just works, but you can also check user/ folder for server settings and additional customization.

shinobice

No Repo
Open Source CCTV software written in Node with both IP and local camera support.

rygel

No Repo
Rygel is a UPnP AV MediaServer that allows you to easily share audio, video, and pictures. Media player software may use Rygel to become a MediaRenderer that may be controlled remotely by a UPnP or DLNA Controller.

readymedia

No Repo
Simple media server software, with the aim of being fully compliant with DLNA/UPnP-AV clients. Formerly known as MiniDLNA.
Self-Hosted alternative to Twitch and Youtube Live for live and on-demand video streaming.

oddworks

No Repo
Oddworks is an open source video distribution platform built to destroy the barriers to streaming television with SDKs for Roku, Apple iOS/tvOS, Google Android, and Amazon FireTV.
Host awesome karaoke parties where everyone can easily find and queue songs from their phone's web browser. The player is also browser-based with support for MP3+G, MP4 and WebGL visualizations.

icecast 2

No Repo
streaming audio/video server which can be used to create an Internet radio station or a privately running jukebox and many things in between.

gnu fm

No Repo
Running music community websites, alternative to last.fm.

funkwhale

No Repo
Modern, web-based, convivial, multi-user and free music server.
High performance RTMP/RTSP streaming server.