Skip to content

kamix-08/directdesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DirectDesk

C++ Windows CMake

Peer-to-peer remote desktop application in C++


About

DirectDesk is a remote desktop application for Windows, made in C++.

The project uses DirectX + Windows Media Foundation for capturing video data, encoding it into H.264 on the GPU, decoding H.264 frames back into readable content and rendering them, along with Windows.h.

P2P UDP communication is utilized, which means the app won't work when connected to a symmetric NAT.

STUN servers used are stun1.l.google.com and stun2.l.google.com. A custom signaling server was implemented in Go.

Installation and usage

Make sure you have a C++ compiler, Cmake and vcpkg installed and configured.

  1. Clone the repository
git clone https://github.com/kamix-08/directdesk
cd directdesk
  1. Generate build files
mkdir build
cd build

# replace [path_to_vcpkg] with the actual path
cmake .. -DCMAKE_TOOLCHAIN_FILE=[path_to_vcpkg]/scripts/buildsystems/vcpkg.cmake
  1. Build
cmake --build . --config Release

You may need to turn off your antivirus' firewall.

Project structure

The project is divided into 3 directories:

  • streamer (user streaming the desktop image)
  • reciever (user receiving the desktop image)
  • shared (code shared by the two)

About

P2P C++ Windows remote desktop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors