Giter Club home page Giter Club logo

novasfronteiras / ofxgstrtp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arturoc/ofxgstrtp

0.0 1.0 0.0 1.2 MB

Addon for sending video, audio, depth and osc to a remote peer using RTP. It can also use ofxXMPP to initiate the session through google talk, jabber or any other xmpp compatible server so you don't need to know the IP of the remote end. It can also use ofxNice to do NAT transversal so you can send data from computers behind NAT routers. Requires gstreamer to work.

Makefile 19.49% GLSL 1.08% C++ 79.43%

ofxgstrtp's Introduction

ofxGstRTP

ofxGstRTP is part of a toolkit in development called OFStreamer, which is a set of openFrameworks addons designed to make it easier to use GStreamer on OSX and Windows. The toolkit is being developed by Arturo Castro and Seth Hunter for applications that require streaming video, audio and metadata between remote locations.

You can use the examples included in ofxGstRTP to send multiple compressed channels of data between remote peer-to-peer networks. For example, send h.264 compressed video and depth, compressed audio, and osc metadata between applications in different countries.

The addon uses ofxXMPP to establish the connection using jabber, google talk or any other xmpp compatible server. There's some examples that demonstrate how to establish a connection with another computer using these services. In addition, we resolve NAT traversal issues (computers being behind routers) using ofxNice so you don't have to use static IPs or setup a VPN, potentially making your applicaiton scalable to many clients. NAT traversal will work with most routers (92%) except symetric routers in big organizations and hotels. You'll also need ofxDepthStreamCompression that commpresses the depth stream to have good quality point clouds and ofxSnappy used also to compress the depth and osc streams.

There's an experimental echo cancelation module, disabled by default that can be enabled in src/ofxGstRTPConstants.h. It depends on ofxEchoCancel

Currently we have examples working on OSX and Linux and are working on porting the examples to windows 7 and 8.

Installing gstreamer

This addon also depends on gstreamer, in linux it's installed by default as part of openFrameworks. On OSX and Windows you'll need to install it manually. To make this process easier please use the ofxGstreamer addon and follow the directions included there to install the dependencies.

Running the examples

  • This is based on openFramewors master, so you'll need to use latest master from github or a nightly build To generate the projects correctly you'll also need to build the latest version of the project generator.

  • Almost all examples contain a settings_example.xml file that needs to be renamed to settings.xml and modified with the correct settings for your gmail account.

  • Since google moved from XMPP chat to google hangouts, its become more difficult to allow apps to access your gmail account. You will need to reduce the security in your gmail settings to allow external apps to access your contact data. This is not ideal, and we have plans to install our own XMPP server, but for now we use dummy gmail accounts for hacking.

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.