GithubHelp home page GithubHelp logo

doytsujin / webrtc-remote-screen Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rviscarra/webrtc-remote-screen

0.0 1.0 0.0 614 KB

Stream a remote desktop screen directly to your browser

License: MIT License

Makefile 1.59% Go 76.04% CSS 6.37% HTML 3.17% JavaScript 12.83%

webrtc-remote-screen's Introduction

WebRTC remote view

Dependencies

  • Go 1.12
  • If you want h264 support: libx264 (included in x264-go, you'll need a C compiler / assembler to build it)
  • If you want VP8 support: libvpx

Architecture

Architecture

More info in this blog post.

Running the server

The server receives the following flags through the command line:

--http.port (Optional)

Specifies the port where the HTTP server should listen, by default the port 9000 is used.

--stun.server (Optional)

Allows to speficy a different STUN server, by default a Google STUN server is used.

Chrome 74+, Firefox 66+, Safari 12.x are supported. Older versions (within reason) should be supported as well but YMMV.

Building the server

Build the deployment package by runnning make. This should create a tar file with the binary and web directory, by default only support for h264 is included, if you want to use VP8 run make encoders=vp8, if you want both then make encoders=vp8,h264.

Copy the archive to a remote server, decompress it and run ./agent. The agent application assumes the web dir. is in the same directory.

WebRTC requires a secure domain to work, the recommended approach towards this is to forward the agent port thru SSH tunneling:

ssh -L YOUR_LOCAL_PORT:localhost:9000 

Then access the application on http://localhost:YOUR_LOCAL_PORT, localhost should be considered secure by modern browsers.

Screenshot

Demo screenshot

Feature requests

I'll see what I can do! Create an issue.

License

MIT - see LICENSE for the full text.

webrtc-remote-screen's People

Contributors

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