Giter Site home page Giter Site logo

koe's Introduction

koe

Tiny, minimal dependency and embeddable library implementing Discord media server protocols, built on Netty, aiming for high performance and reduced GC usage.

Get it on JitPack

Example:

repositories {
    maven { url 'https://jitpack.io' }
}

// ...

dependencies {
    implementation 'moe.kyokobot.koe:core:VERSION'
}

VERSION can be either a tag or a git commit hash.

Dependencies

  • Netty
  • slf4j
  • Java 11+ (could be backported to Java 8 with minor code changes)

Features

  • Supports voice gateway v4 and v5.
  • Easily extendable for stuff such as support for codecs other than Opus or video sending, if Discord ever decides to support it on bots.
  • Experimental video support.
  • Basic RTCP support for measuring packet loss and other stuff.

Non-goals / won't do

  • Encoding - Koe only implements voice server communication, not voice handling itself, so it only accepts Opus frames and you have set up an encoder yourself, use lavaplayer, libav/ffmpeg or anything else.
  • Voice receiving support - it's not supported by Discord anyway, although someone could implement it by registering hooks.

Extensions

Credits

@TheAkio for name idea.

Koe includes modified/stripped-down parts based on following open-source projects:

  • tweetnacl-java (Poly1305, SecretBox)
  • nanojson (modified for bytebuf support, changed the API a bit and etc.)

koe's People

Contributors

alula avatar freyacodes avatar davidffa avatar nansess avatar natanbc avatar walkyst avatar topi314 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.