Giter Site home page Giter Site logo

gnd / remote-desktop-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oldweb-today/remote-desktop-server

0.0 1.0 0.0 7.13 MB

A set of Docker images for streaming a remote desktop video and audio

Shell 4.75% Dockerfile 38.81% Python 56.44%

remote-desktop-server's Introduction

Remote Desktop Server Contains for Webrecorder/oldweb.today

This repository represents the remote desktop system used by Webrecorder and new oldweb.today to stream the display and audio from remote browsers.

In Webrecorder/OWT, the system is used to stream contents of web browsers but can apply to any Linux desktop application.

Desktop Streaming Options

The system provides several connection options for streaming a Linux desktop and audio using VNC and WebRTC.

The options are:

  • Full WebRTC: Streaming desktop via WebRTC connection (H264 or VP8) and audio (Opus).

  • VNC Video + WebRTC Audio: Streaming desktop via VNC and audio using WebRTC (Opus).

  • Vnc Video + WS Audio: Streaming desktop via VNC and audio stream over a WebSocket connection (either MP3 or OPUS)

The oldwebtoday/remote-desktop-server supports options for all three and the method can be determined at runtime via the client.

The system is designed to work with an in-browser client, which can determine which connection method to use. See oldweb-today/shepherd-client for more info.

Architecture

The system is comprised of two Docker containers:

  • oldwebtoday/base-displayaudio: This container sets up the base infrastructure, installing GStreamer, x11vnc, Python, etc.. necessary for streaming

  • oldwebtoday/remote-desktop-server: This container sets up a Python based media controller, which receives messages via WebSocket. The controller acts as a signalling server to set up the WebRTC connection. When using streaming audio, it transmits audio packets directly over the WebSocket. When using VNC, the x11vnc server is used with websockify to transmit VNC data over a separate websocket.

remote-desktop-server's People

Contributors

humberthardy avatar ikreymer 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.