Giter VIP home page Giter VIP logo

oleg's Introduction

Oleg

Run Oleg live here

Oleg is a small WebRTC project I made to emulate the utility of the Cinema gamemode of Garry's Mod servers in a native browser environment. It enables a user and a friend to watch content together.

It is a weekend project aimed to be simple, and demonstrate P2P connections over WebRTC without the use of a signalling server via manual exchange of SDP metadata. A user can send their SDP profile over email, IM, etc, and establish a connection where the ICE protocol allows.

Oleg makes use of the publically available STUN server hosted by stunprotocol.org and the invidio.us project API for collection of YouTube metadata, hosted on Snopyta.

Using Oleg

Upon visiting the Oleg page, two users (or alternatively, two different browser tabs on the same physical machine) must begin to exchange their SDP profiles. One user should assume the role of the host, who will initiate an offer and must send this offer to the guest over any out of band medium. The guest should copy the offer and acknowledge it, generating their own answer in return. This should be copied back to the host, who will acknowledge the answer. If this is done properly, a connection should be established between host and guest, proceeding to the main interface. This process could be improved by introducing an actual signalling server, but I have opted to personally avoid rolling my own infrastructure due to lack of desire and personal need.

It should be noted due to network architecture, success may work if either party initiates, may only work if one party initiates, or may not work at all. This is primarily due to NAT concerns of modern networking implementations, firewalls, etc.

Upon accessing the main interface, the user may press the Q button to open/close the queue overlay, where content may be added to be played. The queue, current video, skipping around the video, pausing and resuming are all synchronised across the two peers.

oleg's People

Contributors

jgcarroll avatar

Watchers

 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.