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
- Videocall among connected peers
- Persisitent Chat, where chat history loaded on demand as you scroll up
- Secure File-Folder tree Transfer
- Screen Share
- 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
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
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
- Call can be initiated by selecting a peer from left menu anc clicking call button. Other end will receive notification for confirmation.
- you can share a screen during a call. Image looks like inceptions because im sharing to myself.
- Proviced varoious settings and displays for visualising whats going on.
- When application is on background a mini camera window will appear. It is resizeable and it automaticaally disappears when main app is active.
- 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.
- Various windows toast notifications are implemented to notify user. They are similar to skype