Giter VIP home page Giter VIP logo

webrtc-telestrator's Introduction

WebRTC-Telestrator

A remote telestrator app using WebRTC. Use a remote device (such as a phone or tablet) to draw on your screen while recording/streaming via OBS. Rather than just having a blank 'greenscreen' to draw on, this app streams a specified display so that you can see exactly where you are drawing on your device.

Usage

  1. Launch webrtc-telestrator
    • This will start a small http/websocket server on port 8888 (by default).
  2. In OBS, add a new Browser source and point it to http://localhost:8888/obs.html
    • This will request a transparent streaming mjpeg image from the server and display it.
    • Overlay this browser source on your OBS setup.
  3. On your OBS machine, open a new WebRTC enabled web browser to http://localhost:8888
    • The built in OBS browser source doesn't support WebRTC so you need to use a real browser such as Edge or Chrome.
    • Tested with Windows Microsoft Edge.
    • Note: Be sure to use 'localhost' and not 'yourhostmachine' because the browser blocks WebRTC share requests on non-https (aka http) servers which this is.
  4. In the browser, click "Host" and select the window/display you want to stream
    • This will be the live image that will be the background for the remote device to see where they are drawing.
    • Some suggestions:
      • Just select the monitor that you are streaming/recording.
      • In OBS, right-click a source and select "Windowed Projector (Source)" to open a new window showing just that source. Then select that window in the Host browser.
  5. On your remote device, open a new WebRTC enabled web browser to http://yourhostmachine:8888
    • Your device browser will need to support WebRTC.
    • Tested with Windows (Microsoft Edge), Android (Chrome), IOS (Safari).
  6. In the browser, click "Join" to begin telestrating
    • This will connect to the host and show the shared display as the background of your canvas.
    • Drawing on the canvas will send the data to the server and display it on the OBS browser source which will then be recorded/streamed as normal.
    • Happy drawing!

Example

Usage Demo

Development Setup

  • Clone this repo
  • Run npm install in '/webrtc-telestrator'
  • Open '/webrtc-telestrator' in VS Code
  • Press F5 to start debugging

To anyone brave enough to use this - Good Luck!

webrtc-telestrator's People

Contributors

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