Giter VIP home page Giter VIP logo

cometconnect's Introduction

CometConnect

video link

CometConnect is a secure and fast peer-to-peer (P2P) communication project designed for Linux. It utilizes PortAudio, OpenCV, and PThreads to enable efficient and reliable communication between peers.

Description

CometConnect is a robust P2P communication solution that ensures secure and seamless data transfer. Built specifically for Linux, this project leverages PortAudio for audio processing, OpenCV for video processing, and PThreads for multi-threading capabilities. The aim is to provide real-time communication with low latency and powerfull and fast file sharing, while prioritizing data privacy and security.

Features

  • Secure P2P Communication: CometConnect facilitates secure communication between peers, ensuring that data remains confidential and protected.
  • Real-time Audio and Video: Enjoy real-time audio and video streaming capabilities for an immersive communication experience.
  • Share file with maximum speed possible.
  • Low Latency: CometConnect focuses on minimizing latency to deliver fast and responsive communication.
  • Multi-threading Support: The integration of PThreads allows for efficient utilization of system resources and enhances overall application performance.
  • Linux Compatibility: Developed specifically for Linux, CometConnect ensures seamless integration and optimal performance on the platform.

Installation

To use CometConnect, follow these steps:

  1. Clone the repository:
git clone https://github.com/nibesh0/cometconnect.git
  1. Install required dependencies:
sudo apt-get update
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  1. Install PortAudio:
sudo apt-get install portaudio19-dev
  1. Install OpenCV:
sudo apt-get install libopencv-dev

Usage

To use CometConnect , follow these steps:

  1. install the required library.
  2. To compile the server use the following command
g++ mainserver.c -o server `pkg-config --libs --cflags opencv4` -pthread -lportaudio
  1. To compile the client use the following command
g++ mainclient.c -o client `pkg-config --libs --cflags opencv4` -pthread -lportaudio
  1. Give executable permission to client and server .the server should do the first move.
chmod +x client
chmod +x server
  1. Usage of server and client
./server <ip of server>
./client <ip of server>
  1. Establish a P2P connection between peers using the provided functions.
  2. Terminate the communication and release any allocated resources using the provided cleanup functions.

Contributing

Contributions to CometConnect are welcome! To contribute, follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature
  3. Make your changes and commit them: git commit -m 'Add your feature'
  4. Push the changes to your forked repository: git push origin feature/your-feature
  5. Open a pull request on the main repository.

Please ensure that your contributions align with the project's coding standards and guidelines.

License

CometConnect is licensed under the MIT License.

Support

For any questions, issues, or support related to CometConnect, please refer to the issue tracker on GitHub.

Roadmap

The future roadmap for CometConnect includes the following:

  • Implementing end-to-end encryption for enhanced security.
  • Adding a better audio streaming.
  • Enhancing the user interface and experience.
  • Optimizing performance and reducing latency.

Your feedback are invaluable in shaping the future development of CometConnect.

Authors

CometConnect is developed and maintained by the following authors:

Credits

CometConnect is developed as a capstone project. We would like to thank the following individuals and resources for their contributions:

  • PortAudio: Library for audio processing.
  • OpenCV: Library for computer vision and video processing.
  • PThreads: Library for multi-threading support.

Thank you for using CometConnect!

cometconnect's People

Contributors

nibesh0 avatar devanshudangi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

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.