Giter Site home page Giter Site logo

eazuka / airtube Goto Github PK

View Code? Open in Web Editor NEW

This project forked from koodex/airtube

0.0 2.0 0.0 8.03 MB

Distributed mesh service discovery library

Home Page: http://github.com/thinktube-kobe/airtube/wiki

License: GNU Lesser General Public License v3.0

Java 12.15% Makefile 10.32% C++ 4.61% Perl 0.17% C 58.63% Assembly 0.37% Objective-C 1.64% Shell 10.71% M4 0.73% CSS 0.30% HTML 0.05% Batchfile 0.17% MATLAB 0.04% Roff 0.07% Inno Setup 0.04%

airtube's Introduction

AirTube

AirTube is an easy to use networking library for Android and Java creating a distributed peer-to-peer overlay mesh network with service discovery and asynchronous message-oriented end-to-end connectivity. By combining these three main features into a small and dedicated library, AirTube frees application developers from worrying about networking details like topologies, IP addresses and port numbers, and simply lets them discover "services" and receive data from it, be it local, remote or anywhere in the global AirTube overlay mesh "cloud".

Allthough AirTube is a generic networking library for Java, it is optimized for Android mobile devices and the transmission of real-time multimedia data like streaming audio and video.

AirTube is an Open Souce project and licensed under the LGPL.

Key Features

  • Distributed Service discovery by "name" and JSON description
  • Distributed Peer-to-peer overlay mesh network independent of IP addresses
  • Non-blocking asynchronous message-oriented networking optimized for multimedia data
  • Integration with Computer Vision libraries and algorithms
  • Efficient and small library (~250KB) for Android and any Java platform

More Info in the Wiki

Developments status

AirTube was developed internally over a period of about two years and is now being presented to the public as Open Source. The main features "service discovery", "mesh protocol" and "asynchronous networking" are functional, and some effort has been made to provide a stable API which works well as an Android service and in "pure" Java. We still have ambitious plans to move forward by implementing the following features:

  • End-to-end encryption
  • More advanced service matching and lookup
  • Additional service types, like "Request-Response"
  • Additional transmission types like "delayed delivery" (store & forward)
  • ...

We welcome contributions and are maintaining the project as open source.

Requirements

  • Android: Version 4.0.4 or higher
  • Java: Version 1.6 or higher
  • No dependency on other libraries

Services integrated with AirTube

AirTube is a general purpose networking library but we have developed it with a focus on multimedia data and computer vision. As such we provide the following "services" as part of AirTube:

  • Real-time video stream sending (encoding) from Android with H264 codec
  • Video receiving (decoding) on Android and PC
  • Real-time audio stream using the Opus codec (optional Speex, G711, AAC) including a Jitter Buffer implementation and echo cancellation
  • OpenCV processing on the sender and/or receiver side
  • Face detection
  • ...

More documentation in the Wiki

airtube's People

Contributors

thinktube-br1 avatar

Watchers

 avatar  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.