Giter Site home page Giter Site logo

adrenak / airpeer Goto Github PK

View Code? Open in Web Editor NEW
48.0 48.0 5.0 22.1 MB

A WebRTC based networking plugin for Unity

Home Page: http://www.vatsalambastha.com/airpeer

License: MIT License

C# 96.68% JavaScript 3.32%
networking p2p p2p-network p2p-node peer-to-peer unity unity3d-plugin webrtc

airpeer's Introduction

Hi there πŸ‘‹

Chances are, you're here from my UniVoice repos. Expand the section below for more info.

πŸ—£οΈπŸŒπŸ”Š UniVoice stuff

I'm still working on unifying UniVoice and making it easier to use. To start, I would recommend going through the following repos in my profile:

  • πŸ—£οΈunivoice: the core repo.
  • πŸ“± univoice-samples: a sample chat app made using univoice. This repo currently uses
  • 🎀 univoice-unimic-input: the repo for capturing audio from Microphones, the most common use case
  • πŸ”‰ univoice-audiosource-output: the repo for playing audio using an AudioSource, again the most common usage.
  • πŸ“Ά univoice-telepathy-network: a repo for local/WLAN networking for univoice. Basically, you can talk within a local network. Note that again with mobile apps, hosting, network discovery and connecting have some caveats.
  • πŸ–₯️ univoice-mirror-network: a repo for Mirror based networking. If your game or app uses Mirror, the integration is very simple and also runs with dedicated servers.

Note that:

  • ❌ univoice-airpeer-network is not production suitable. Airpeer, the underlying library is not IL2CPP compatible. It also uses some old WebRTC code where establishing connection tends to fail a lot.
  • ❌ airsignal and airpeer are archived repos. Avoid developing with them unless you know your usecase and their limitations well.
  • ⚠️ univoice-pun2-network is not production suitable either, but you are welcome to modify it. The core issue (IIRC) was that Photon throttles the amount of data you can send through some custom channels. Since UniVoice doesn't have any sort of audio compression, the size tends to cross the limits very quickly. It did work fine for 2 or 3 participants.

UniVoice has some big improvements lined up, this includes:

  • πŸ“¦ Most, if not all of the UniVoice related repos moving into the core package, so that you don't have to worry about dependencies. Modules would be activated using scripting define symbols in Unity
  • πŸ“±A much better sample scene
  • ✍️ Better documentation and maybe even some video tutorials
  • πŸ—£οΈ Audio compression, echo cancellation, and maybe even encryption (we'll see)
  • πŸ›œ Implementations for Network For GameObjects, PUN2 and maybe also com.unity.webrtc
  • πŸ–₯️ Making it more suitable for dedicated server environments. UniVoice was made with peer-to-peer in mind.

In short, UniVoice is undergoing a lot of changes soon. Those using the repos already would be protected from these changes. It's likely with UniVoice v4, it'll begin a new life with these improvements coming in one by one.

Thanks for the continued support! If you are joining or have been part of the UniVoice journey, give it a Github star ⭐!

Adrenak's GitHub stats

airpeer's People

Contributors

adrenak avatar semantic-release-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

airpeer's Issues

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can fix this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here are some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


No npm token specified.

An npm token must be created and set in the NPM_TOKEN environment variable on your CI environment.

Please make sure to create an npm token and to set it in the NPM_TOKEN environment variable on your CI environment. The token must allow to publish to the registry https://registry.npmjs.org.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

[Discussion] Boolean "reliable" used on function OnMessageReceived

Hello everyone, how are you?

I've been using Univoice (It's also an amazing project from adrenak πŸ‘) on a Unity personal project , and when I've tested the voice chat room with a friend of mine (outside LAN Network) we've experienced a communication delay of about 3-4 seconds.
I didn't confirm if it was an internet problem, but I don't think it was.

I was trying to understand the code behind this feature looking for a solution and I reach the following snippet:
https://github.com/adrenak/AirPeer/blob/60d5cf18a64e4ecdba06773c7489ec32ad5960c0/Assets/Adrenak/AirPeer/Scripts/Node.cs#L344-L376

At line 373 it broadcast the message received to the other nodes ignoring the function boolean argument "reliable".
I have 2 questions to discuss:

  1. Is it right to ignore the boolean there? In my opinion isn't, because it's not a reserved message so there isn't much problem if we lose it and also, it could be a voice package and then sending it as reliable brings travel delay. There is a high possibility that I'm wrong because I don't fully understand how everything works together.
  2. What else could be the origin of my problem?

Thanks!

Volume is too low (barely audible)

Hi, I am using latest version of Airpeer and Univoice. At first, i thought the audio was not working but i notice now, its working but audio is very low, volume is too low. Is there way to increase volume?

I am using unity 2022.3 LTS

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.