Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.
/ Thinkremote Public archive

Personal cloud computing is the technology stack that allows you to access a computer remotely

License

Notifications You must be signed in to change notification settings

thinkonmay/Thinkremote

Repository files navigation

Thinkremote

Thinkremote is the technology stack allow you to access your computer remotely

Demo

ThinkMay.Execute.mp4

Features

  • Based on WebRTC video streaming technology and Gstreamer multimedia framework for video and audio pipeline handling
  • Is capable of H265, H264 video streaming, OPUS audio codec audio streaming
  • Is capable of hardware accelerated video encoding based on window's d3d11 video encoding core

Join us

Architecture | Document

Requirement to build

Client module

Client module is organize by platforms, each platform has their own techstack

  • Window native application dashboard is run on electron, currently we have two core engine:
    • one based on Gstreamer multimedia framework
    • one based on core implementation of video decode on electron

(Note: only Window Gstreamer core engine implementation is capable of H265 video streaming)

  • Progressive webapp hosted by Thinkmay server and can be run from any browser, however, the video and audio quality of chromium default decoder is much behind native application and is not recommended by us

Worker module

Worker module is the agent installed on worker node in order to allow it publicly accessible by user. It has three submodule with different role

  • Agent submodule for session initialization
  • Session core implement WebRTC
  • Cluster module for managing worker cluster

Worker module is a window application written in C and based on Gstreamer multimedia framework

Test instruction

  • Switch to development environment by set
    • development.h: DEVELOPMENT_ENVIRONMENT to TRUE
  • Run client and worker build by run corresponding automated build bat file
    • ./build.bat
  • Host signalling test server
    • cd test/Signalling
    • dotnet run .
  • Run session-webrtc and remote-webrtc binary
    • worker/bin/session-webrtc.exe
    • client/bin/remote-webrtc.exe

How to use

Thinkremote github repository is managed by Thinkmay, we also provide the infrastructure you needed to use personal cloud computing

Licensing

Thinkremote is distributed uner GNU General Public License v3

Contributing