All Projects → koel → Koel

koel / Koel

Licence: mit
🐦 A personal music streaming server that works.

Programming Languages

PHP
23972 projects - #3 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Koel

Sound
core sound data structures and interfaces
Stars: ✭ 37 (-99.72%)
Mutual labels:  audio, streaming
Android Rtmp Muxer
Implementation of the RTMP protocol to broadcast video and audio on Android in pure Java
Stars: ✭ 78 (-99.4%)
Mutual labels:  audio, streaming
Aplay
A Better(Maybe) iOS Audio Stream、Cache、Play Framework
Stars: ✭ 44 (-99.66%)
Mutual labels:  audio, streaming
Rtsp Simple Server
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
Stars: ✭ 882 (-93.27%)
Mutual labels:  audio, streaming
Webrtc Cli
WebRTC command-line peer.
Stars: ✭ 135 (-98.97%)
Mutual labels:  audio, streaming
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (-35.91%)
Mutual labels:  audio, streaming
Bibleify Desktop
🖥️Simple & fast bible app with dramatized audio built with Electron, React, Rematch & Realm
Stars: ✭ 70 (-99.47%)
Mutual labels:  audio, streaming
Hysteriaplayer
Objective-C audio player, sitting on top of AVPlayer
Stars: ✭ 568 (-95.67%)
Mutual labels:  audio, streaming
Persistentstreamplayer
Stream audio over http, and persist the data to a local file while buffering
Stars: ✭ 120 (-99.08%)
Mutual labels:  audio, streaming
Rtp
A Go implementation of RTP
Stars: ✭ 120 (-99.08%)
Mutual labels:  audio, streaming
React Native Audio Streaming
iOS & Android react native module to play an audio stream, with background support and media controls
Stars: ✭ 753 (-94.25%)
Mutual labels:  audio, streaming
Ultrasonic
Free and open-source music streaming Android client for Subsonic API compatible servers
Stars: ✭ 149 (-98.86%)
Mutual labels:  audio, streaming
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+108.94%)
Mutual labels:  audio, streaming
Webaudio Wav Stream Player
instantly play remote wav streams using fetch API + WebAudio
Stars: ✭ 28 (-99.79%)
Mutual labels:  audio, streaming
Roc Toolkit
Real-time audio streaming over the network.
Stars: ✭ 673 (-94.86%)
Mutual labels:  audio, streaming
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (-92.09%)
Mutual labels:  audio, streaming
Stream Parser
⚡ PHP7 / Laravel Multi-format Streaming Parser
Stars: ✭ 391 (-97.02%)
Mutual labels:  laravel, streaming
Awesome Video
A curated list of awesome streaming video tools, frameworks, libraries, and learning resources.
Stars: ✭ 397 (-96.97%)
Mutual labels:  audio, streaming
Nymphcast
Audio and video casting system with support for custom applications.
Stars: ✭ 2,010 (-84.66%)
Mutual labels:  audio, streaming
Airsonic
📡 ☁️ 🎶Airsonic, a Free and Open Source community driven media server (fork of Subsonic and Libresonic)
Stars: ✭ 1,876 (-85.68%)
Mutual labels:  audio, streaming

koel e2e unit Code Quality codecov OpenCollective OpenCollective

Showcase

Intro

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.

Install and Upgrade Guide

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

Development

Since Koel makes use of git submodules, you'll want to make sure the submodule is up-to-date:

git pull
git submodule update --init --recursive --remote

# install the submodule dependencies
cd resources/assets
yarn install

To start the PHP dev server, which serves as the API of the application, run the following command from the root directory. By default, the server will listen at port 8000.

php artisan serve

For the client application itself, run this command:

yarn hot

A development version of Koel should now be available at http://localhost:8080 with full support for hot module reloading.

Alternatively, you can start both the PHP server and the client application in one go with yarn dev, which uses start-server-and-test under the hood.

Testing, Linting, Static Analysis and Stuff

# PHP-related code quality tasks
# Basically, take a look at the "scripts" section in composer.json
composer test        # Run the PHP test suite
composer cs          # Run code style checker
composer cs:fix      # Run code style fixer 
composer analyze     # Run PHP static analysis

yarn build # Build a production version of the client application

# Client/E2E code quality tasks
# You may want to run `yarn build` first.
yarn test:e2e        # Run the Cypress test suite interactively
yarn test:e2e:ci     # Run the Cypress test suite non-interactively (CI mode)
# These commands need to be run from within the submodule (resources/assets)
yarn lint            # Lint
yarn type-check      # TypeScript type checking
yarn test            # Unit testing

Note: If you're already running yarn test:e2e, there's no need to start a dev server. yarn test:e2e calls yarn dev internally and will eliminate the existing yarn dev process, if any.

A quick and easy way to start hacking on koel is to open and run this repo in Gitpod, an online IDE with full Laravel support.

Open in Gitpod

Koel Player

Koel Player screenshots

Koel Player is the official mobile app for Koel, which supports both iOS and Android without the limitations of the mobile web version. For more information on the project, visit its repository.

Backers

Support me on OpenCollective with a monthly donation and help me continue building Koel.

Sponsors

GitHub Sponsors

OpenCollective

Become a sponsor on OpenCollective and get your logo on our README on Github with a link to your site.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].