All Projects β†’ bengreenier β†’ webrtc-unity-plugin

bengreenier / webrtc-unity-plugin

Licence: other
Cross-platform Webrtc support for Unity apps ☁🎲

Programming Languages

C#
18002 projects
ShaderLab
938 projects

Projects that are alternatives of or similar to webrtc-unity-plugin

Learning Webrtc
Codes and notes while learning webrtc
Stars: ✭ 98 (-2%)
Mutual labels:  webrtc-demos
Rtcmulticonnection
RTCMultiConnection is a WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc.)
Stars: ✭ 2,187 (+2087%)
Mutual labels:  webrtc-demos
nextrtc-example-videochat
Most simple example of use NextRTC (WebRTC signaling server written in java) where two people can setup video call (treat it like prototype!)
Stars: ✭ 36 (-64%)
Mutual labels:  webrtc-demos
Webrtc Experiment
WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!!
Stars: ✭ 10,335 (+10235%)
Mutual labels:  webrtc-demos
Workerman Webrtc
php webrtc demo based on workerman
Stars: ✭ 161 (+61%)
Mutual labels:  webrtc-demos
Mediastreamrecorder
Cross browser audio/video/screen recording. It supports Chrome, Firefox, Opera and Microsoft Edge. It even works on Android browsers. It follows latest MediaRecorder API standards and provides similar APIs.
Stars: ✭ 2,381 (+2281%)
Mutual labels:  webrtc-demos
Webrtc Demo
webrtc ζΌ”η€Ίη€ΊδΎ‹
Stars: ✭ 74 (-26%)
Mutual labels:  webrtc-demos
flutter-webrtc python-aiortc-opencv
Flutter WebRTC demo with Python server to perform image processing on video frames using OpenCV
Stars: ✭ 34 (-66%)
Mutual labels:  webrtc-demos
React Webrtc
Video chat using webRTC and react
Stars: ✭ 168 (+68%)
Mutual labels:  webrtc-demos
One-to-One-Video-Calling-Open-Source-PHP-Application
This Sample PHP Application demonstrates the use of EnableX webRTC Platform Server APIs and JavaScript Toolkit to develop one to one real time communication (RTC) application. It allows developers to ramp up on app development by hosting on their own devices.
Stars: ✭ 13 (-87%)
Mutual labels:  webrtc-demos
Webrtc Data Channel Demo
WebRTC Data Channel demo
Stars: ✭ 116 (+16%)
Mutual labels:  webrtc-demos
Mobilecameratemplate
A HTML5, JS, CSS Camera interface template. Feel free to use it in your next Computer Vision or AI project.
Stars: ✭ 145 (+45%)
Mutual labels:  webrtc-demos
Webrtcchat
πŸ” Pure Browser To Browser Chat (STUN & ICE Servers optional)
Stars: ✭ 230 (+130%)
Mutual labels:  webrtc-demos
Translator
Translator.js is a JavaScript library built top on Google Speech-Recognition & Translation API to transcript and translate voice and text. It supports many locales and brings globalization in WebRTC! https://www.webrtc-experiment.com/Translator/
Stars: ✭ 103 (+3%)
Mutual labels:  webrtc-demos
nettu-meet
Open source video conferencing system for tutors.
Stars: ✭ 1,878 (+1778%)
Mutual labels:  webrtc-demos
Video Chat App
Simple P2P Text/Voice/Video chat client. Works on Chrome and Firefox, Platforms: Android, Windows, Linux, Mac. Just open the link in Browser, You don't need any extra tools for Video Chat. https://valarpirai.github.io/video-chat-app/
Stars: ✭ 93 (-7%)
Mutual labels:  webrtc-demos
Cuckoo
πŸŽ₯ Cuckoo - A free anonymous video-calling web application built with WebRTC and React that provides peer-to-peer video and audio communication in a web browser with no plugins or extensions required.
Stars: ✭ 195 (+95%)
Mutual labels:  webrtc-demos
video-chat
Simple Web Application that offer you to create video meeting room using WebRTC and Socket.
Stars: ✭ 32 (-68%)
Mutual labels:  webrtc-demos
WebRtc noise suppression
This is WebRtc noise suppression module demo.
Stars: ✭ 70 (-30%)
Mutual labels:  webrtc-demos
demo-rails-webrtc
A demo project shows how to use webrtc on rails
Stars: ✭ 28 (-72%)
Mutual labels:  webrtc-demos

Webrtc Unity Plugin

🚨 You probably want Microsoft/MixedReality-WebRTC instead! 🚨

plugin logo

Cross-platform Webrtc support for Unity apps ☁🎲

Why

We needed a cross-platform webrtc solution for Unity, based on webrtc's unityplugin example that supports win32, and winuwp (theoretically linux and mac are supported as well, but untested). The ✨ magic ✨ of this repository is threefold:

  1. We support a winuwp (hololens compatible) binary
  2. We include a sample signalling implementation
  3. We provide a working end-to-end example

How to use

Officially supports Unity 2017.4.x (LTS) and Unity 2018.3.x

Webrtc Basic Signal Example

The basic signal example (WebrtcBasicSignalExample.unity) is designed to quickly demonstrate what managed code we'd need to write to configure a peer instance using a service to exchange sdp information (handshake) and ice candidates (NAT traversal).

To use it, one needs to set up a few dependencies:

  • Clone, setup, and run an instance of node-dss (instructions at link).
  • Modify the WebrtcSignalControls script via the inspector, on the WebrtcSignalControls object to point at your node-dss server url.

screenshot showing modifying the server url

Once the server is running and Unity is configured, both clients should be able to exchange information by device id. The device id is displayed across the top left of the screen, and should be typed into the remote peers input field.

For instance, to connect Peer A (device id: 1) with Peer B (device id: 2) the targetId input field for Peer A should have the value 2. For Peer B, it should have the value 1. A connection can not succeed unless both peers have the input field populated.

Once the targetId field is filled on both peers, either peer can begin the connection by clicking the offerButton.

At this point, sdp messages (handshake data) and ice candidates (NAT traversal data) should be sent via the server, and the clients should be able to connect successfully.

Reference Docs

To better understand the API space of this solution, take a look at the hosted API docs.

For more information, check out the brief overview video.

Running

In editor, Win32 is supported - this means if you're on Windows and you hit "Play" in the Unity Editor, your application should just work. For other platforms, one must produce a Unity Player build in order to fully test.

example v01

Contributing

No contributing guidelines at this time. However, to produce a new unitypackage when a new Release is needed, one must use Unity and select these fields:

producing a unitypackage

License

MIT

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