Giter Club home page Giter Club logo

thinkonmay / thinkremote Goto Github PK

View Code? Open in Web Editor NEW
20.0 1.0 3.0 109.2 MB

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

Home Page: https://www.thinkmay.net

License: GNU General Public License v3.0

CMake 4.06% Batchfile 0.40% JavaScript 8.41% C 67.54% C# 4.66% Dockerfile 3.16% Rich Text Format 0.64% Shell 1.67% HTML 0.49% CSS 4.56% SCSS 4.41%
cloud gaming remote-desktop c webrtc multimedia gstreamer

thinkremote's Introduction

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

thinkremote's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

thinkremote's Issues

Where is development.h ?.... run build command error...

I have a question about the Test Instruction below.
(1) But... I can't find the development.h file. Where is that file located?

Switch to development environment by set
development.h: DEVELOPMENT_ENVIRONMENT to TRUE

(2) I skipped switch to development environment because above reason.
I ran build command. but It make error like belows

./build.bat

[vcvarsall.bat] Environment initialized for: 'x64_x86'
The specified path could not be found.
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.29.30141.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
  C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindPkgConfig.cmake:70 (find_package_handle_standard_args)
  worker/session-webrtc/CMakeLists.txt:1 (find_package)

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.