huangli321456 / P2PVideocall

Voice-Video Call Wpf Application based on P2PNetwork

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

P2PVideocall

Voice-Video Call Wpf Application based on P2PNetwork with protobuf messages.
Tested and achieved stable calls between 1.204,5 km distance clients

Release available https://github.com/ReferenceType/P2PVideocall/releases/tag/v0.2.0-alpha

Features

  • Videocall among connected peers
  • Persisitent Chat, where chat history loaded on demand as you scroll up
  • Secure File-Folder tree Transfer
  • Screen Share

Technical features

  • Secure Udp Hole punching
  • End to End encyrption on Tcp And Udp
  • Toast notifications
  • Dynamic Jitter Buffer for Audio and Video
  • Statistics data for nerds

How It works

Each application is a Peer client to a Relay Server. This server is used for randezvous point for Udp Holepunching. If holepunch is sucessfull all Udp data is send directly among peers. All TCP data goes through the relay server there is no hole punching for that yet. Relay server can be found on repository: https://github.com/ReferenceType/RelayServer

The back-end network core libraries are located on : https://github.com/ReferenceType/StandardNetworkLibrary

How to setup

Launch the Relay Server console application. Launch the Videocall Application and write your Relay Servers Ip and Port and hit comnnect. If any other application connects to same relay server it will apper on your list on main window. You can select and call that peer or transfer files or simple write chat. Chat is quite primitive and work in progress

Images

Call interface

  • Call can be initiated by selecting a peer from left menu anc clicking call button. Other end will receive notification for confirmation.

Share Screen

  • you can share a screen during a call. Image looks like inceptions because im sharing to myself.

Settings

  • Proviced varoious settings and displays for visualising whats going on.

Background mode mini-window

  • When application is on background a mini camera window will appear. It is resizeable and it automaticaally disappears when main app is active.

File transfer

  • You can Drag and drop a single file or entire directory tree of folders, and application will send them through SSL.
  • Md5 hashing is also applied here where sender and receiver verifies the file integrity.

Toast Notification

  • Various windows toast notifications are implemented to notify user. They are similar to skype

About

Voice-Video Call Wpf Application based on P2PNetwork

License:Apache License 2.0


Languages

Language:C# 100.0%