Networked media
Networked audio player
See also JS libs#Audio, Streaming, Radio, Distros#Media
- https://en.wikipedia.org/wiki/Place_shifting - allows media, such as music or films, which is stored on one device to be accessed from another place through another device. Space shifting is frequently done through computer networks, for example by viewing a television broadcast from a WiFi equipped set-top box on a WiFi equipped notebook.
- https://en.wikipedia.org/wiki/Media_server - refers either to a dedicated computer appliance or to a specialized application software, ranging from an enterprise class machine providing video on demand, to, more commonly, a small personal computer or NAS (Network Attached Storage) for the home, dedicated for storing various digital media (meaning digital videos/movies, audio/music, and picture files).
MPD
- Music Player Daemon - MPD is a flexible, powerful, server-side application for playing music. Through plugins and libraries it can play a variety of sound files while being controlled by its network protocol.
- Home audio system using MPD and RTP - Home audio system using MPD and RTP
Running MPD with a simple ogg vorbis streaming output:
audio_output { type "httpd" name "My Streaming Radio" encoder "vorbis" port "55555" quality "6" format "44100:16:2" }
- MPD_sima homepage - an non interactive MPD autoqueue client running in the background. It will queue new tracks chosen among artists similar to your current queued tracks, provided a title is found in your music library. Similar artists are fetched from last.fm or EchoNest webservice. This client allows you to never run out of music when your queue is getting short.
- https://github.com/MusicPlayerDaemon/mpdscribble - a MPD client which submits information about tracks being played to a scrobbler (e.g. last.fm)
Terminal
- ncmpcpp - NCurses Music Player Client (Plus Plus) - featureful ncurses based MPD client inspired by ncmpc
- https://github.com/boysetsfrog/vimpc - a vi/vim inspired client for the Music Player Daemon (mpd)
- Practical Music Search - an open source client for the Music Player Daemon, written in C++ and ncurses. The target audience are power users who need an MPD client that is highly configurable. PMS features a simple but powerful interface similar to Vim, and runs on (at least) Linux, FreeBSD and Mac OS X.
- https://github.com/carnager/clerk - MPD client using rofi or fzf
- https://github.com/cykerway/ncmpy - A curses-based MPD client written in Python
- draai - a wrapper around mpc, making playing music from the commandline more enjoyable. mpc is a client for MPD, the Music Player Daemon. Using draai, one can play an audiofile (ogg, mp3, flac, whatever your MPD offers), play all files in a predefined playlist, view details on current, past and future playing songs, skip to the next song, etc.
- Arch Forums: RPD - Radio Playing Daemon
Smaller GUI
- https://github.com/multani/sonata - an elegant GTK 3 client for the Music Player Daemon
- https://github.com/macrat/garnet - A simple client for MPD
- https://github.com/sdushantha/kunst - framed_picture Download and display album art or display embedded album art
- https://github.com/charmparticle/mpd_what - An mpd album art and info getter
- https://github.com/be1/glurp - an old gtk+ 2.x MPD client
Larger GUI
- https://github.com/cdrummond/cantata - Qt5 Graphical MPD Client for Linux, Windows, macOS, Haiku
- Gnome Music Player Client - GMPC is a GTK2 frontend for Music Player Daemon. It is released under the GNU General Public License and is free software. It is designed to be lightweight and easy to use, while providing full access to all of MPD's features. Users are presented with several different methods to browse through their music. It can be extended by plugins, of which many are available. GMPC is the oldest maintained Graphical client for MPD. The project was started in 2003 and been under constant development ever since.
- Ario - a GTK2 client for MPD (Music player daemon). The interface used to browse the library is inspired by Rhythmbox but Ario aims to be much lighter and faster.
It runs on various Unixes (Linux, OpenBSD, Mac OS X...) and Microsoft Windows.
- musicbox - a music player client for the Music Player Daemon mpd.
Web
- RelaXXPlayer - a ajax-based web-frontend for the Music Player Daemon (MPD). RelaXX includes features like keyboard-control, drag and drop, context-menus, sortable tracklists and more using JavaScript. Can be used as a public jukebox for MP3 or OGG. To use the Client you need a working web-server and PHP installed.
- ympd - MPD Web GUI - written in C, utilizing Websockets and Bootstrap/JS
- https://github.com/florianheinemann/MPD.FM - A MPD web server and client to listen to your favorite online radio stations. It's great for a Raspberry Pi home audio system.
- https://github.com/derhorst/ampc-server - Standalone MPD Web GUI written in C, utilizing Websockets
- RompЯ - a music player with the emphasis on discovery - discovering more about the music you know, and discovering new music you don’t know yet. RompЯ is an interface that runs in a web browser on any device and controls a music player which can be on any other device. I recommend using Mopidy as the music player. When used with Mopidy and a Spotify Premium subscription RompЯ is a powerful Spotify client with many music discovery features.
Android
- MPD on Android - server not client
- https://github.com/abarisain/dmix - a MPD client for Android. It is a fork of PMix.
- https://gitlab.com/gateship-one/malp - M.A.L.P. - Android MPD Client
Control
- EMPCd - Event Music Player Client daemon can use for instance /dev/input/event0 or other event devices to control MPD (Music Player Daemon), directly using libmpdclient and other programs by executing them using a system(2) call. The right hand picture shows an USB numpad keyboard which was connected to paradise.ch.unfix.org. The keyboard's keys are coupled using empcd to control Music Player Daemon allowing easy next/prev, volume up/down and other functions as depicted below. Of course, this can all be customized to your hearts desire.
- rcmpd - Controlling MPD (Music Player Daemon) with an IR Remote Control
- https://github.com/TestudoAquatilis/irmpc - an MPD client using commands from infra-red controls via LIRC
- https://github.com/kowalcj0/moninp - map input events to mpc commands that control MPD.
- https://github.com/tremby/mpdproxy - MPD proxy automatically entering password for clients in certain IP ranges
- https://github.com/alphapapa/mpdsync - a simple way to synchronize multiple MPD servers so that they’re all playing the same thing, at the same time, with the same playlist.
Display
- https://github.com/TestudoAquatilis/mpdisplay - MPD client for displaying current status on small displays
Other
- https://github.com/EdJoPaTo/mpdPi -This project installs MPD on the Raspberry Pi, copies the webradio playlist and starts playing. Endlessly. Also it is possible to stream AirPlay to the Raspberry Pi via shairport-sync.
Mopidy
- 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 range of MPD and web clients.
- http://docs.mopidy.com/en/latest
- https://github.com/qurben/mopidy-headless - Control Mopidy with generic input devices
Web
- https://github.com/dirkgroenen/mopidy-mopify - Mopify is a web client for Mopidy. Instead of most other Mopidy web clients, Mopify aims to provide a complete music experience.
- https://github.com/mplewis/accentor - Control your MPD/Mopidy music server from a Node.js web interface. Be social with your music.
- RompЯ - a browser-based client for Mopidy and MPD, which are both music players. You can use RompЯ to control a music player on another device or on your computer. Because it runs in a web browser you can run it ony any device - your laptop,tablet, or phone can all be used to control your music player. It has a rich and beautiful interface which is intended to sort your music, manage radio stations, browse and subscribe to podcasts. When used with Mopidy you can listen to Spotify and make use of RompЯ's incredible music discovery features which will help to introduce you to new music.modern mobile devices too. Its looks are inspired by Amarok 2.
- http://meantimeit.github.io/jukepi - a web client for the Mopidy music server. Mopidy empowers you to create a custom music server that can connect to Spotify, play local mp3s and more. In our office, we are using it with a Raspberry Pi as our Jukebox. Once this web client was created, the JukePi was born. The application is a bespoke application with data models built upon Backbone. Even so, most models contain customisations to retrieve data from a Mopidy connection over Websockets. The websockets requirement is a core part of the Mopidy HTTP API and means that this client will be unable to function with IE9 and below. Special effort will be made to ensure that it functions well in all websockets enabled browsers.
- https://github.com/pimusicbox/mopidy-websettings - Mopidy extension for editing settings in a webinterface. Used by Pi MusicBox, but also usable for personal installations or other projects, since MusicBox-only settings are hidden automatically.
- https://github.com/fhats/partify - dead?
Volumio
- Volumio - meant to be an headless dap (digital audio player), just connect it to your home stereo system or your DAC. Then, connect it to your home network and control it just from a browser: PC, Mac, Android or iOS. Volumio can take MP3, FLAC, WAV, AAC, ALAC, DSD and much more music from USB, Network Storage, plus MPD, UPNP\DLNA, Airplay, Spotify and Web-Radio access.
Groove Basin
- https://github.com/andrewrk/groovebasin - a music player server with a web-based user interface inspired by Amarok 1.4. 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.
netjukebox
- netjukebox - a web-based media jukebox for MPD, VideoLAN and Winamp/httpQ. It features real-time MP3 streaming from different audio formats. Download single tracks or a whole album in one zip file.
musikcube
- musikcube - a cross-platform c++ library that drives things. it can be used by developers as a backend for creating or prototyping apps that play music. out of the box it provides file scanning, tag indexing, gapless and crossfading playback, play queue management, playlist crud, an extensible plugin architecture, and support for libraries containing 100,000+ audio tracks.
- https://github.com/clangen/musikcube - a cross-platform, terminal-based music player, audio engine, metadata indexer, and server 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.
- https://github.com/clangen/musikcube/wiki/user-guide
Otto Jukebox
- Otto - an audio jukebox that gracefully organizes, plays, and streams your very large music collection. Otto enables multiple people to centrally organize their music while keeping their files separate. Otto knows who is listening and picks tracks preferentally from their collections (with a curveball or two thrown in). It is always picking and playing your music with a never ending playlist. Anyone can play DJ and queue up requests. There is an integrated chat room so you can argue about it. [3]
mStream
- mStream - a suite of open source software that lets you sync and stream your music between all your devices. Get started by using mStream Express to turn any computer into an mStream server. Your server then streams your music to any device, anywhere.
Diffuse
- Diffuse Music Player - a music player that supports various services such as Google Drive and S3, plus decentralized locations such as Webdav and IPFS. It is very easy to use and the latest, stable Electron release can be installed to Windows, MacOS or Linux desktops from here. Music is simply displayed as a list and can be further sorted into playlists. Basic EQ and volume control are available under settings. Development is tracked via the project’s github page. The website Diffuse.sh is a fully functional demo instance, so just start playing music and enjoy!
CloudTunes
- https://github.com/jakubroztocil/cloudtunes - provides a unified interface for music stored in the cloud (YouTube, Dropbox, etc.) and integrates with Last.fm, Facebook, and Musicbrainz for metadata, discovery, and social experience. It is similar to services like Spotify, except instead of local tracks and the fixed Spotify catalog, CloudTunes uses your files stored in Dropbox and music videos on YouTube.
[5]
CherryMusic
- CherryMusic - a music streaming server based on CherryPy and jPlayer. It plays the music inside your PC, smartphone, tablet, toaster or whatever device has a HTML5 compliant browser installed.
Cozic
- Cozic - a music player developed to fill my needs for my Cozy Cloud. It uses SoundManager2 javascript library.
- https://github.com/rdubigny/cozy-music - This is an application for the old, now deprecated, version 2 of CozyCloud, a personal cloud server. It is not compatible with the new $$ CozyCloud V3.
Koel
- Koel - aka koel, 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 – flexbox, audio, and drag-and-drop API to name a few – to do its job.
MuttonChop
- MuttonChop - a media player designed to be controlled through a web interface or by a JSON API (the web interface uses the JSON API). Technically, MuttonChop is two separate applications; a daemon like player/server and a default HTML/JavaScript/CSS interface.
Colibri
- https://github.com/archSeer/colibri - Personal music server. A rewrite of boombox using Ember and Elixir.
Koozic
- Koozic - a music streaming server based on the Odoo application. It gives you the possibility to access your music collection anywhere, from any device.
Sonerezh
- https://www.sonerezh.bzh - A self-hosted, web-based application to stream your music, everywhere.
ZX2C4 Music
- https://git.zx2c4.com/zmusic-ng/about/ - ZX2C4 Music provides a web interface for playing and downloading music files using metadata.
Laudio
- https://github.com/jgehring/Laudio - a webbased player which takes advantage of the HTML5 audio element to play its music. Its aim is to replace DAAP which is currently broken in the all major GNOME audio players. Laudio is based on the Python Framework Django and uses Apache as server. Installed on the machine where your music collection resides, it can be accessed in the whole network. By forwarding Port 80 on your router, even your friends can listen to it over the Internet.
Shiva
- https://github.com/tooxie/shiva-server - no longer under development
- https://github.com/tooxie/shiva-client
- Shiva - a RESTful API to your music collection. It indexes your music and exposes an API with the metadata of your files so you can then perform queries on it and organize it as you wish.
- https://hacks.mozilla.org/2013/03/shiva-more-than-a-restful-api-to-your-music-collection/ [7]
Playlistful
- Playlistful - Collaborative playlists for parties! Do you want your party guests to be able to listen to music they like? But you don't want them skipping each other's songs and squabbling about who gets to choose the next one? Playlistful lets each of your guests have their own playlist on their mobile device, and then the computer connected to the sound system fairly picks between guests' songs. [8] - youtube based, closed source
Wizd
- Wizd - a server application for use with the I-O Data LinkPlayer 2 and similar devices such as the Buffalo LinkStation and the MediaWiz. It works as a replacement for the Link Server software supplied by I-O Data, but can be installed and run along side that server software (and the Advanced Server software) if you desire.
- Wizd - old Japanese site
- https://github.com/birkirb/wizd - A fork of the WIZD media daemon, mainly for linux compilation fixes.
Funkwhale
- Funkwhale - a modern, self-hosted, free and open-source music server
Trollibox
- https://github.com/polyfloyd/trollibox - The hackerspace friendly music player web client
Calliope Music Server
- Calliope Music Server - a GPL jukebox music server, content- and music-management system. Perl-based, it supports multi-user, multiple channels (soundcard and Icecast streams), data/id3 editing, smart loading, cd burning, and skins. It plays mp3, ogg & flac (so far).
Playdar
- Playdar - a music content resolver service - run it on every computer you use, and you'll be able to listen to all the songs you would otherwise be able to find manually by searching though all your computers, hard disks, online services, and more.
Vvave Music Player
- Babe Music Player - a tiny Qt music player to keep your favorite songs at hand. Babe will handle your whole music collection, letting you create custom playlists to organize your music. You can also filter your music by artist, title, album, genre, date and location. Babe let's you babe-mark your favorite YouTube music videos into your local collection by using the Chromium extension. Think of Babe as the playlist where all your favorite tracks at the moment are. And when needed you also have an integrated collection manager.
Audio Player
- Audio Player - A music player for FLAC, MP3, MP4, streams, … with playlist support and SONOS integration.
Tizonia
- Tizonia - A music player and audio streaming client/server for Linux with support for Spotify, Google Play Music (including Unlimited), SoundCloud and Dirble, with a multimedia framework based on OpenMAX IL 1.2 provisional specification.
Mellow Player
- Mellow Player - a free, open source and cross-platform desktop application that runs web-based music streaming services in its own window and provides integration with your desktop (hotkeys, multimedia keys, system tray, notifications and more).
Musciteer
- https://github.com/bebac/musciteer - a music playing server for Linux. It combines your local music files with selected music from streaming services and presents it as one library through a modern web interface. It's designed to run on a small, preferably fanless, pc that is hooked up to your hifi system. I guess you can think of it as an alternative to Volumio or MPD.
Taliesin
- Taliesin - Lightweight audio media server with a REST API interface and a React JS client application.example snapshotCan be used as a cloud application for a set of media files.The web application uses a responsive design to be usable as much in a desktop computer with a large screen or a small screen such as smartphones or tablets.
Tchaik
- https://github.com/tchaik/tchaik - an open source music organisation and streaming system. The backend is written in Go, the frontend is built using React, Flux and PostCSS.
LMS
- https://github.com/epoupon/lms - a self-hosted music streaming software: access your music files from anywhere using a web interface!
PMP
- https://github.com/hyperquantum/PMP - A multi-user client-server music player with advanced file tracking
crowdmixer
- https://github.com/EpocDotFr/crowdmixer - Let the crowd make its own mix without hassling you.
Audius
- Audius - 💬 chat, 🎧 listen, 📺 watch
audioserve
- https://github.com/izderadicka/audioserve - Simple personal server to serve audiofiles files from folders. Intended primarily for audio books, but anything with decent folder structure will do.
httpms
- https://github.com/ironsmile/httpms - Media server with RESTful API and Web interface. Think of it as your very own Spotify!
html5_audioplayer
- https://github.com/CelliesProjects/html5_audioplayer - A single file html5 audio player with playlist. Plays mp3, ogg and wav files in your browser. Works on all major browsers. Less than 15Kb download. Simple and fast. PHP.
Multi-room audio
Logitech Media Server
- https://github.com/Logitech/slimserver - Server for Logitech Squeezebox players. This server is also called Logitech Media Server
Squeezelite
- Squeezelite - a small headless squeezebox emulator for linux using alsa audio output and other platforms using portaudio. It is aimed at supporting high quality audio including usb dac based output at multiple sample rates including 44.1/48/88.2/96/176.4/192k/352.8/384kHz.
SlimStreamer
- https://github.com/gimesketvirtadieni/slimstreamer - an audio streaming software for Linux with multi-room functionality. SlimStreamer captures audio playback from ALSA and broadcasts it to connected Squeezebox devices (real or ‘virtual’ like squeezelite), decoupling Squeezebox streaming capability from the rest of the functionality around managing music (Single responsibility principle). Any application that outputs audio to a default ALSA device can be used as music source for streaming. In fact, audio streaming is done transparently by SlimStreamer and SlimPlexor (an ALSA plugin) behind the scene. Moreover, SlimStreamer captures PCM stream in a bit-perfect way (without resampling to a predefined sample rate), which allows streaming audio in best possible quality!
Snapcast
- https://github.com/badaix/snapcast - a multi-room 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 multi-room solution. The server's audio input is a named pipe /tmp/snapfifo. All data that is fed into this file will be send 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.
- https://github.com/bridadan/libsnapcast - Embeddable C client for Snapcast
- https://github.com/badaix/snapos - a collection of configurations for different buildsystems (at the beginning focused on Buildroot) to build an embedded Linux OS for Snapcast.
- https://github.com/hifiberry/snapcastmpris - MPRIS interface to snapcast
- https://github.com/badaix/snapdroid - control client and player for Android. Snapdroid is using the Snapcast JSON-RPC API to control Snapcast and bundles native Android ARM and X86 Snapclients for audio playback.
- https://github.com/HazWard/snapcontrol - A Snapcast controller application built using Flutter
MagicPlay
- MagicPlay - an Open Source platform created by doubleTwist that establishes a universal way to stream music to wireless speakers, TVs, car audio systems and other connected devices, bringing music to the Internet of Things.
AirPlay
- https://en.wikipedia.org/wiki/AirPlay - a proprietary protocol stack/suite developed by Apple Inc. that allows wireless streaming between devices of audio, video, device screens, and photos, together with related metadata. Originally implemented only in Apple's software and devices, it was called AirTunes and used for audio only. Apple has since licensed the AirPlay protocol stack as a third-party software component technology to manufacturers that build products compatible with Apple's devices.Apple announced AirPlay 2 at its annual WWDC conference on June 5, 2017. It was scheduled for release along with iOS 11 in the third quarter of 2017, but was delayed until June 2018. Compared to the original version, AirPlay 2 improves buffering; adds streaming audio to stereo speakers; allows audio to be sent to multiple devices in different rooms; and control by Control Center, the Home app, or Siri, functionality that was only available previously using iTunes under macOS or Windows.
- https://github.com/KqSMea8/AirplayServer - Android server for Airplay2
- https://github.com/FD-/RPiPlay - An open-source AirPlay mirroring server for the Raspberry Pi. Supports iOS 9 and up.
Network audio/video player
See also Distros#Media, Media#Digital, Video#DVR, Streaming
- https://en.wikipedia.org/wiki/TV_gateway - also called network TV tuner, is a television headend to a network UPnP router that receives live digital video broadcast (DVB) MPEG transport streams (channels) from terrestrial aerials, satellite dishes, or cable feeds and converts them into IP streams for distribution over an IP network. TV gateways allow users to stream broadcast live TV content to connected devices on the IP network, including tablets, smartphones, computers, gaming consoles and smart TVs. They also allow multiple users to watch and record different channels at the same time.
Ampache
- Ampache - 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. Apache based.
Subsonic
- Subsonic - 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.
The original Subsonic is developed by Sindre Mehus. Subsonic was open source through version 6.0-beta1, and closed-source from then onwards.
Libresonic
- https://github.com/Libresonic/libresonic - a free, web-based media streamer, providing ubiquitious 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
- Airsonic - a Free and Open Source community driven media server, providing ubiquitous access to your music, a fork of Subsonic and Libresonic
Supersonic
- https://github.com/Mach5/supersonic - Open-source web-based media streamer and jukebox fork of Subsonic. Supports MP3, OGG, AAC and other streamable audio and video formats. Runs on Windows, GNU/Linux and Mac using Java.
Madsonic
- Madsonic - a web-based media streamer and jukebox fork of Subsonic. Based on Java technology, Madsonic runs on most platforms, including Windows, Mac, Linux, OSX, and Unix variants. Clients can connect via the built in website or with many other clients that support the Subsonic/Madsonic REST API. GPL. Madsonic instantly transports your media to any HTTP connected device regardless of bitrate. You can stream to multiple players simultaneously. Madsonic is designed to handle very large music collections. By using transcoder plug-ins, Madsonic supports on-the-fly conversion and streaming of virtually any audio format, including MP3, OGG, WMA, FLAC, APE and more.
FutureSonic
- https://github.com/FutureSonic/FutureSonic-Server - a Madsonic and SubSonic fork. It is a web-based media streamer and jukebox fork of Subsonic.
ultrasonic
- https://github.com/ultrasonic/ultrasonic - free and open-source music streaming Android client for Subsonic API (version 1.7.0 or higher) compatible servers.
Emby
- Emby - Your personal media on any device. Bringing all of your home videos, music, and photos together into one place has never been easier. Your personal Emby Server automatically converts and streams your media on-the-fly to play on any device.
Jellyfin
- Jellyfin - a personal media server. The Jellyfin project was started as a result of Emby's decision to take their code closed-source, as well as various philosophical differences with the core developers. Jellyfin seeks to be the free software alternative to Emby and Plex to provide media management and streaming from a dedicated server to end-user devices. Jellyfin is descended from Emby 3.5.2, ported to the .NET Core framework, and aims to contain build facilities for every platform. [9]
Telemeta
- Telemeta - a free and open source collaborative multimedia asset management system (MAM) which introduces fast and secure methods to archive, backup, transcode, analyse, annotate and publish any digitalized video or audio file with extensive metadata. It is dedicated to collaborative media archiving projects, research laboratories and digital humanities - especially in ethno-musicological use cases - who need to easily organize and publish documented sound collections of audio files, CDs, digitalized vinyls and magnetic tapes over a strong database, through a smart and secure platform, in accordance with open web standards.
Kodi
- Kodi - formerly XMBC, is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. Kodi is available for multiple platforms. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 450 software developers have contributed to Kodi to date, and 100-plus translators have worked to expand its reach, making it available in more than 70 languages.
- https://github.com/CastagnaIT/plugin.video.netflix - InputStream based Netflix plugin for Kodi
- https://github.com/kempniu/xbmcvc - A program for controlling Kodi (http://kodi.tv) with simple voice commands
- Lexigram - A suite of tools for combining Kodi and Alexa
- https://github.com/m0ngr31/koko - Alexa skill for streaming music from Kodi
RKMC
- https://github.com/JamesLinEngineer/RKMC a fork for Kodi and provides hardware acceleration and more features on rockchip mainstream chips(rk3229、rk3229h、rk3288、rk3368、rk3399) and most android version(Android4.4、5.x、6.x、7.x). In the case of hardware allowed, RKMC supports 4K2K、4K2K 10bit(H264、HEVC)、MVC 3D (bluray & mkv)、high profile audio passthrough. This project use specific ffmpeg version in https://github.com/JamesLinEngineer/RKMC-FFmpeg and related firmware patches are in RKMC-Patches folder.
Plex
- https://support.plex.tv/articles/208050647-getting-started/ - Plex Embedded, Linux server
- https://github.com/croneter/PlexKodiConnect - synchronizes your media from your Plex server to the native Kodi database. Hence: Use virtually any other Kodi add-on; Use any Kodi skin, completely customize Kodi's look; Browse your media very fluently (cached artwork); Automatically get additional artwork (more than Plex offers); Use Plex features with a Kodi interface
- https://github.com/d8ahazard/FlexTV - voice control/bridge
OpenPHT
- https://github.com/RasPlex/OpenPHT - OpenPHT is a community driven fork of Plex Home Theater tree of XBMC
Maraschino
- Maraschino wiki
- https://github.com/mrkipling/maraschino - a simple web interface to act as a nice overview/front page for my XBMC HTPC.
- https://github.com/gugahoi/maraschino - This is a version of the official Maraschino converted to work in the Plex environment.
Streama
- Streama - Host your own Streaming Application with your media library.
Wukong
- https://github.com/GyrosWorkshop/Wukong - a web-based music sharing platform which is implemented in C# and JavaScript. The application allows users to share and listen their favorite songs together.
Wavebox
- Wavebox - A free, open source personal media server written in C# and available on all platforms thanks to the Mono framework. GPL3 Licensed.
MediaPortal
- Mediaportal - transforms your PC into a complete media solution.It runs on basic hardware, connects directly to your TV and displays your TV Series, Movies, Photos and Music in a much more dynamic way. All in the comfort of your living room, on your big screen LCD or Plasma TV or projector!
maelstrom
- https://github.com/nvllsvm/maelstrom/tree/dev - minimalist media streaming server
Movian
- Movian - a media center primarily intended to be used directly on a TV. It is currently available for Linux, Mac OS X, Raspberry Pi, Playstation 3, Android and Google Chrome Apps
MrMC
- MrMC - a software media center for playing videos, music, and pictures. MrMC, featuring a 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, and other digital media files from local storage media and media devices/servers such as Emby, Plex, HDHomerun, TVHeadend and more.
UPnP / DNLA
- upnp.org: for consumers (archive)
- upnp.org: what is upnp (archive)
djmount
- https://github.com/Boxee/djmount - a UPnP AV client. It mounts as a Linux filesystem (using FUSE) the media content of compatible UPnP AV devices
upmpdcli
- upmpdcli - a UPnP Media Renderer front-end for MPD, the Music Player Daemon. It supports UPnP gapless track transitions and the OpenHome ohMedia services (including a Radio service to listen to Internet streams).
- https://github.com/triplem/upmpdcli - an UPnP front-end to the Music Player Daemon
MediaTomb
- MediaTomb - an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices.
Gerbera
- Gerbera - 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.
- uShare - a UPnP (TM) A/V & DLNA Media Server. It implements the server component that provides UPnP media devices with information on available multimedia files. uShare uses the built-in http server of libupnp to stream the files to clients. GeeXboX uShare is able to provide access to both images, videos, music or playlists files (see below for a complete file format support list). It does not act as an UPnP Media Adaptor and thus, can't transcode streams to fit the client requirements.
"Note: As uShare is unmaintained (last release was 2007), users may wish to use ReadyMedia, which is actively developed and just as simple to set up, and does not require manually refreshing its database."
ReadyMedia
- ReadyMedia (formerly known as MiniDLNA) - a simple media server software, with the aim of being fully compliant with DLNA/UPnP-AV clients. It is developed by a NETGEAR employee for the ReadyNAS product line.
Universal Media Server
- Universal Media Server - a media server capable of serving videos, audio and images to any DLNA-capable device. It is free, regularly updated and has more features than any other media server, including paid media servers. It streams to many devices including PS3, Xbox One and 360, many TVs (Samsung, Panasonic, Sony, Vizio, LG, Philips, Sharp), smart phones (iPhone, Android, etc.), Blu-ray players, and more.
simpleDLNA
- simpleDLNA - A simple, zero-config DLNA media server, that you can just fire up and be done with it.
LXiMedia
- LXiMedia - A DLNA compatible, fully transcoding, media server designed for serving media (movies, TV shows, music, photos) to DLNA compliant televisions and media players (Streamium, PS3, XBox 360). Also subtitles and audio language selection are supported.
BubbleUPnP Server
- BubbleUPnP Server - provides new services, many of them running on top of your existing UPnP/DLNA devices. Unless BubbleUPnP Server is used only for use with Chromecast, it requires at least one working UPnP AV Media Server or Media Renderer to do something useful.
BubbleUPnP for DLNA/Chromecast
- BubbleUPnP for DLNA/Chromecast - Android app
DroidUPnP
- https://github.com/trishika/DroidUPnP - an UPnP control point application for android. DroidUPnP discover your home UPnP device, content provider and renderer. It allow you to browse your UPnP content directory, select the media you want to use and allow you to play it on your connected television or any UPnP renderer compatible device. It also allows you to use your android device as a UPnP content provider.
FUPPES
- FUPPES - a free, multiplatform UPnP A/V Media Server. FUPPES supports a wide range of UPnP MediaRenderers as well as on-the-fly transcoding of various audio, video and image formats. FUPPES also includes basic DLNA support.
Serviio
- Serviio - a free DLNA media server. It allows you to stream your media files (music, video or images) to renderer devices (e.g. a TV set, Bluray player, games console or mobile phone) on your connected home network.
There is also a paid for Pro edition which further enhances the possibilities of sharing content in your connected household. This includes the ability to browse your content on non-DLNA devices thanks to a new API (application interface) that is available to developers and can be utilized by mobile apps, desktop extensions, etc. Serviio Pro bundles MediaBrowser, a browser based application that utilizes the API and gives you the possibility to browse and play your content in your favourite web browser.
OpenHome
- OpenHome - the future of streaming audio - an Open Platform providing audiophile quality hi-res digital music.
Multi-room audio. Managed Playlists. Internet streaming services. It's all here in the OpenHome audio platform. Whether you're a consumer, platform developer or audio manufacturer we have all you need to get started with OpenHome.
- http://wiki.openhome.org/wiki/OhNet - a modern, cross platform, multi-language UPnP stack
- https://github.com/openhome/ohPlayer - a full featured OpenHome media renderer licenced under an MIT licence
FLACJACKet
- https://github.com/0xsx/FLACJACKet - a DLNA media server that broadcasts streams of audio routed to JACK input ports over the local network encoded in the FLAC format. It aims to provide reliable audio transmission while minimizing latency and taking advantage of FLAC features such as lossless compression and support for surround sound. It is Free and Open Source Software, released under the GNU General Public License.
Rygel
- Rygel - a home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices.Additionally, media player software may use Rygel to become a MediaRenderer that may be controlled remotely by a UPnP or DLNA Controller.Rygel achieves interoperability with other devices in the market by trying to conform to the very strict requirements of DLNA and by converting media on-the-fly to formats that client devices can handle.Most Rygel functionality is implemented through a plug-in mechanism.
gmrender-resurrect
- https://github.com/hzeller/gmrender-resurrect - Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer. Fork of GMediaRenderer to add some features to make it usable.
eezUPnP
- eezUPnP - a remote control (control point/media controller) for media clients to play music hosted by a media server on the selected client. To use eezUPnP you need to have (one or more) media server(s) containing all your AV content and media clients able to play that content. This software has a focus on playing music, but can also do one thing with video content: streaming to remote players. Selected content from any media server (DMS) is arranged as a user defined playlist and will be played by the media client (DMP/DMR). Also a limited number of local music and video file types can be streamed to remote players.
simple-dlna-browser
- https://github.com/javier-lopez/learn/blob/master/sh/tools/simple-dlna-browser - browse upnp-av based media servers
dms
- https://github.com/anacrolix/dms - A UPnP DLNA Digital Media Server that includes basic video transcoding. Tested on a Panasonic Viera television, several Android UPnP apps, and Chromecast.
DAAP / iTunes
- https://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol - DAAP, is the proprietary protocol introduced by Apple in its iTunes software to share media across a local network. DAAP addresses the same problems for Apple as the UPnP AV standards address for members of the Digital Living Network Alliance (DLNA).
Firefly Media Server / forked-daapd
- https://www.fireflymediaserver.net - aka mt-daapd, dead
- forked-daapd - Linux/FreeBSD DAAP (iTunes) and MPD media server with support for AirPlay devices (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
- RPiForked-Daapd - a Raspberry Pi orientated iTunes server (DAAP server) made by Julian Blache, based on mt-daapd (Firefly). It's also a Roku server (RSP server). Unfortunately forked-daapd is no longer maintained upstream, so the packages available in the Debian repositories have a couple of issues.
Play
- https://github.com/play/play - an employee-powered iTunes-based client-driven distributed music server for your office. Also it can prepare your taxes.
Shairport Sync
- https://github.com/mikebrady/shairport-sync - an AirPlay audio player -- it plays audio streamed from iTunes, iOS devices and third-party AirPlay sources such as ForkedDaapd and others. Audio played by a Shairport Sync-powered device stays synchronised with the source and hence with similar devices playing the same source. In this way, synchronised multi-room audio is possible without difficulty. (Hence the name Shairport Sync, BTW.)
Miracast
- https://en.wikipedia.org/wiki/Miracast - a standard for wireless connections from devices (such as laptops, tablets, or smartphones) to displays (such as TVs, monitors or projectors), introduced in 2012. It can roughly be described as "HDMI over Wi-Fi", replacing the cable from the device to the display.
- https://en.wikipedia.org/wiki/WiDi - was technology developed by Intel that enabled users to stream music, movies, photos, videos and apps without wires from a compatible computer to a compatible HDTV or through the use of an adapter with other HDTVs or monitors. Intel WiDi supported HD 1080p video quality, 5.1 surround sound, and low latency for interacting with applications sent to the TV from a PC. Using the Intel WiDi Widget users could perform different functions simultaneously on their PC and TV such as checking email on the PC while streaming a movie to the TV from the same device. WiDi was discontinued in 2015 in favour of Miracast, a standard developed by the Wi-Fi Alliance and natively supported by Windows 8.1 and later.
Miracast Wifi Display
- Miracast Wifi Display - app will help you cast android device screen to TV screen by Wireless display device such as Smart TV or Wireless display adapters. App run perfect on my devices, I tested on SamSung, HTC, Sony phone. Notice: some devices don't support cast screen and may be this app will don't working, app only support android from 4.2 and above.
MiracleCast
- https://github.com/albfan/miraclecast - Connect external monitors to your system via Wifi-Display specification also known as Miracast
wds
- https://github.com/intel/wds - a set of libraries for developers who want to build Wi-Fi Display applications on Linux.
lazycast
- https://github.com/homeworkc/lazycast - a simple wifi display receiver. It was originally targeted Raspberry Pi (as display) and Windows 8.1/10 (as source), but it might work with other Linux distros and Miracast sources, too. In general, lazycast does not require re-compilation of wpa_supplicant to provide p2p capability, and should work on an "out of the box" Raspberry Pi.
piracast
- https://github.com/codemonkeyricky/piracast - An implementation of Miracast on the Raspberry Pi. 1. Only works with TP-Link dongle. 2. No HDCP support (cannot remote Netflix or Google Music).
Google Cast / Chromecast
- Chromecast built-in - Chromecast built-in is a technology that lets you stream your favorite entertainment and apps from your phone, tablet or laptop right to your TV or speakers.
- https://en.wikipedia.org/wiki/Google_Cast
- https://github.com/thibauts/node-castv2 - An implementation of the Chromecast CASTV2 protocol
killcast
- https://github.com/thewhiteh4t/killcast - Manipulate Chromecast Devices in your Network
Mkchromecast
- Mkchromecast - his is a program to cast audio and video from your macOS, or Linux desktop to your Google Cast devices or Sonos speakers. It is written in Python, and it streams via node.js, ffmpeg, or avconv. Mkchromecast is capable of using lossy and lossless audio formats provided that ffmpeg, avconv (Linux), or parec (Linux) are installed. It also supports Multi-room group playback, and 24-bits/96kHz high audio resolution. Linux users also can configure ALSA to capture audio. Additionally, a system tray menu is available.
castnow
- https://github.com/xat/castnow - a command-line utility that can be used to play back media files on your Chromecast device. It supports playback of local video files, videos on the web and torrents. You can also re-attach a running playback session (this sentence should belong somewhere else).
khromecat
- https://github.com/msoedov/khromecat - a command line tool to play local files, directories and http streams on Google Chromecast devices.
stream2chromecast
- https://github.com/dohliam/stream2chromecast - Chromecast media streamer for Linux
go-chromecast
- https://github.com/vishen/go-chromecast - cli for Google Chromecast, Home devices and Cast Groups
gnomecast
- https://github.com/keredson/gnomecast - Chromecast local files from Linux - supports MKV, subtitles, 5.1 sound and 4K!
AirConnect
- https://github.com/philippe44/AirConnect - add AirPlay capabilities to Chromecast and UPnP (like Sonos) players (make them look like an AirPlay device). AirConnect can run on any machine that has access to your local network (Windows, MacOS, Linux -x86, x64 and ARM, Solaris and FreeBSD). It does not need to be on your main computer. (For example, a Raspberry Pi works well). It will detect UPnP/Sonos/Chromecast players, create as many virtual AirPlay devices as needed, and act as a bridge/proxy between AirPlay clients (iPhone, iPad, iTunes, MacOS, AirFoil ...) and the real UPnP/Sonos/Chromecast players. The audio, after being decoded from alac, can be sent in plain, or re-encoded using mp3 or flac. Most player will not display metadata (artist, title, album ...) except when mp3 re-encoding is used and for UPnP/DLNA devices that support icy protocol. Chromecast do not support this (yet).
DIAL
- DIAL - for DIscovery And Launch—is a simple protocol that second-screen devices can use to discover and launch apps on first-screen devices.
- https://en.wikipedia.org/wiki/Discovery_and_Launch - a protocol co-developed by Netflix and YouTube with help from Sony and Samsung. It is a mechanism for discovering and launching applications on a single subnet, typically a home network. It relies on Universal Plug and Play (UPnP), Simple Service Discovery Protocol (SSDP), and HTTP protocols. The protocol works without requiring a pairing between devices. It was formerly used by the Chromecast media streaming adapter that was introduced in July 2013 by Google. (Chromecast now uses mDNS instead of DIAL.) DIAL enables what the TV industry calls "2nd screen" devices, such as tablet computers and mobile phones to send content to "1st screen" devices, such as televisions, Blu-ray players, and set-top boxes.
Nymphcast
- NymphCast - a software solution which turns your choice of Linux-capable hardware into an audio and video source for a television or powered speakers. It enables the streaming of audio and video over the network from a wide range of client devices, as well as the streaming of internet media to a NymphCast server, controlled by a client device. [11]
Sonos
- YouTube: IKEA's Sonos Speaker Has a Secret
- https://github.com/mlang/ronor - Sonos smart speaker controller API and command-line tools [12]
- Noson - fast and smart controller for your SONOS devices. You can browse your music library and play track or radio on any zones. You can manage grouping zones, queue, and playlists, and fully control the playback.Written with QML/C++ for maximal performance.
Raspberry Pi
Raspicast / OMXPlayer
- Instructables.com: Raspberry Pi As Chromecast Alternative (Raspicast): 10 Steps (with Pictures)
- OMXPlayer - An accelerated command line media player. Installed on Raspbian is a command line media player, called OMXPlayer. This is HW accelerated, and can play back many popular audio and video file formats. OMXPlayer was developed by the Kodi project's Edgar Hucek. OMXPlayer uses the OpenMAX (omx) hardware acceleration interface (API) which is the officially supported media API on the Raspberry Pi.
- https://github.com/HaarigerHarald/omxiv - OpenMax image viewer for the Raspberry Pi
- YouTube: Casting Youtube to Smart Mirror
OMXPlayer-Sync
- https://github.com/turingmachine/omxplayer-sync - facilitates synchronization of multiple OMXPlayer instances over the network in a master/slave fashion.
- https://github.com/PaulSlocum/omxplayer-sync-3 - Raspberry Pi's Omxplayer media player program with modifications to facilitate scheduled and synchronized playback. This version of Omxplayer is used in my Andor 1 synchronizing media player, and my code changes can be seen here.
RaspberryCast
- https://github.com/vincelwt/RaspberryCast - Transform your Raspberry Pi into a streaming device. Videos can be sent from mobile devices or computers (Chrome extension).
- RaspberryCast - Firefox add-on for RaspberryCast
Audio player builds
See also Distros#Media
HiFiBerry
- HiFiBerry - sound boards bring great sound to your home. Working in combination with the Raspberry Pi platform, these high-quality sound boards are elegant, stable, and easy to mount. Watch the video below to learn more.
- HiFiBerry DAC+ - Our most popular board dramatically improves the audio performance of your Raspberry Pi. It comes in different versions. All of them can be connected to an external amplifier or active speakers through an analog audio input.
- https://github.com/hifiberry/hifiberry-os - Linux distribution optimized for audio playback
Ultimate Audio Player 2.0
JustBoom DAC HAT Kit
Pi-DAC PRO Bundle
- Pi-DAC+ - Audiophile DAC for the Raspberry Pi. Phono (RCA) and Heaphone (3.5mm) output, complete with PCB spacers and screws.
Operating Systems
See also Distros#Media
Pi MusicBox
- Pi MusicBox - the Swiss Army Knife of streaming music on the Raspberry Pi. With Pi MusicBox, you can create a cheap (Sonos-like) standalone streaming music player for Spotify and other online music services.
Features: Headless audio player based on Mopidy. Just connect your speakers or headphones - no need for a monitor. Quick and easy setup with no Linux knowledge required. Stream music from Spotify, SoundCloud, Google Music, YouTube and Subsonic. Listen to podcasts (with iTunes and Podder directories) as well as online radio (TuneIn, Dirble and Soma FM). Play MP3/OGG/FLAC/AAC music from your SD card, USB drives and network shares. Remote controllable with a choice of browser-interfaces or with an MPD-client (e.g. MPDroid for Android). AirTunes/AirPlay and DLNA streaming from your smartphone, tablet or computer. Support for all kinds of USB, HifiBerry and IQ Audio soundcards. Wi-Fi support (WPA, Raspbian supported Wi-Fi adapters only) Last.fm scrobbling. Spotify Connect support.
moOde audio player
- moOde audio player - Audiophile-quality music playback for the wonderful Raspberry Pi family of single board computers. Free Open Source Software (FOSS) for Audio Enthusiasts, System Integrators and OEM's. Enjoy the beautifully designed Web User Interface, extensive set of configuration options and broad support for all the great audio devices that support the Raspberry Pi.
Highlights for 4.0: Bluetooth A2DP Speaker and Speaker Sharing, Parametric 4-band and Graphic 10-band EQ, Airplay, Squeezelite and UPnP renderers Tidal, Qobuz and Google Play supported in UPnP, SoX resampling up to 32 bit 384 kHz, SoX Multi-threading supported, Crossfeed Binaural DSP for Headphones, Auto-shuffle for continuous random play, Custom Radio Station feature, WiFi Access Point (AP) Mode, Display UI on locally attached screen, Discover and connect to other moOde players, In-Place Software updates, Moode OS Image Builder, Boot from USB drive
Max2Play
- Max2Play - based on Rasbian Linux, allows for simple and comfortable control and configuration of single board computers like the Raspberry Pi directly via any local internet browser (using laptop, PC or smartphone). This makes the connection of a mouse, keyboard or screen obsolete.
RuneAudio
- RuneAudio - a free and open source software that turns embedded hardware into Hi-Fi music players. Take an inexpensive, silent and low-consumption mini-PC and make it perform as an high fidelity digital source. A streamer player: It can reproduce your digital music library from local USB drives or network mounts (NAS), and also plays any internet stream (web radios). A headless player: It can be remotely controlled by multiple clients running on different devices. MPD based.
Audiophile Linux
- Audiophile Linux - operating system optimized for high quality digital audio reproduction. Created by audiophiles for people who share the same dream. To have their system a bit more better. AP-Linux is easily installed, user friendly, and absolutely free. Install it like any other GNU/Linux distribution and enjoy the music playback. Audiophile Linux comes with everything you need for playing your audio and video files.
Archphile
- Archphile - an Archlinux ARM/MPD based distribution for Raspberry Pi (B, B+ and 2), Udoo Quad (also dual with some extra steps) and Cubox-i targeted to users with USB and I2S Dacs.
Daphile
- Daphile - an audiophile class music server & player OS – targeted to dedicated headless PC.
piCorePlayer
- piCorePlayer - a very small system (piCore linux) which is running in RAM, and is not writing to the sd-card. Therefore, it is very robust and will not corrupt your sd-card even so you can simply cut the power without any risk of corruption of the system. piCorePlayer can be used in three ways: 1. As a Squeezebox player that connect to your existing Logitech Media Server (LMS). (See how-to here-work in progress), 2. As a LMS server (See how-to here - work in progress), 3. A combined LMS server and Squeezebox player.
It is very small about 55 MB in total including the OS (microcore linux). It boots very fast, already 10-15 sec after you power on, then your piCorePlayer will be found in the Logitech Media Server control panel. After booting everything is running from RAM so there is no writing to the SD-card and therefore no risk of corruption of your card - just pull the power if you need to. It is possible to synchronize the piCorePlayer to other Squeezebox devices.
DietPI
- DietPi - extremely lightweight at its core, our images start at 400MB in size (3x lighter than 'Raspbian Lite'). With features of low process/memory footprint and DietPi-RAMlog installed by default, DietPi allows you to get the maximum performance from your device.
Other
- https://github.com/mroach/musicbox - a Phoenix application running on a Raspberry Pi to function as a simple music box for kids.