Giter Club home page Giter Club logo

webrtc-native's Introduction

GDNative WebRTC plugin for Godot

Getting Started

Download latest binary version GitHub

Compiling

Clone this repository with the following command to checkout both godot-cpp and godot-headers dependencies.

$ git clone --recurse-submodules https://github.com/godotengine/webrtc-native.git

Note that if you wish to use a specific branch, add the -b option to the clone command:

$ git clone --recurse-submodules -b 3.2 https://github.com/godotengine/webrtc-native.git

If you already checked out the branch use the following commands to update the dependencies:

$ git submodule update --init --recursive

Right now our directory structure should look like this:

webrtc-native/
├─bin/
├─godot-cpp/
| └─godot-headers/
├─src/
└─webrtc/

Compiling the cpp bindings library

First, we need to compile our cpp bindings library:

$ cd godot-cpp
$ scons platform=<your platform> generate_bindings=yes
$ cd ..

Replace <your platform> with either windows, linux or osx.

Include use_llvm=yes for using clang++

Include target=runtime to build a runtime build (windows only at the moment)

Include target=release or target=debug for release or debug build.

The resulting library will be created in godot-cpp/bin/, take note of its name as it will be different depending on platform.

Building WebRTC

Building WebRTC is quite a complex task, involves huge downloads and long build times, and produces multiple output libraries that needs to bundled together.

To make things easier, a set of GitHub Actions are used to generate the library for this plugin, available in this repository.

Alternatively, download the latest pre-compiled libraries.

Extract content of include into webrtc/include and content of bin into webrtc/<your platform>

Compiling the plugin.

$ scons platform=<your platform> target=<your target>

The generated library and associated tres will be placed in bin/webrtc/ or bin/webrtc_debug/ according to the desired target. You simply need to copy that folder to the root folder of your project.

webrtc-native's People

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.