-
Notifications
You must be signed in to change notification settings - Fork 1
abkarada/NovaEngine
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Repository files navigation
# NovaEngine β Real-Time P2P Media Engine by NovaSafer > π₯ Ultra-low latency, native media engine for secure peer-to-peer communication. > Developed as the core transport layer for the NovaSafer platform (SafeRoom Project). --- ## π What is NovaEngine? NovaEngine is a high-performance C++ media core designed for **real-time, serverless audio/video streaming**. It works directly over **UDP**, integrates with NAT traversal (STUN/Hole Punching), and ensures full-duplex, low-latency transmission for decentralized communication. Built for: - π Secure environments - πΈοΈ Serverless P2P systems - β‘ Real-time responsiveness (<50ms) --- ## π§± Architecture Overview +-------------------+ UDP +-------------------+ | NovaEngine (Peer) | <-------------> | NovaEngine (Peer) | +-------------------+ +-------------------+ β² β² π€π₯ Capture π€π₯ Capture β β π Encode & Packetize π Encode & Packetize β β π‘ Send UDP π‘ Send UDP β β π₯ Receive UDP π₯ Receive UDP β β π§ Depacketize & Decode π§ Depacketize & Decode β β ππ¬ Playback ππ¬ Playback --- ## ποΈ Directory Structure NovaEngine/ βββ include/ β βββ packet.hpp β βββ audio_capture.hpp β βββ video_capture.hpp β βββ udp_sender.hpp β βββ udp_receiver.hpp βββ src/ β βββ audio_capture.cpp β βββ video_capture.cpp β βββ udp_sender.cpp β βββ udp_receiver.cpp β βββ NovaEngine.cpp βββ libs/ β βββ libopus.a β βββ libjpeg.a βββ CMakeLists.txt βββ README.md --- ## βοΈ Build Instructions ### π§° Dependencies - C++17 or later - OpenCV - PortAudio - libopus - libjpeg (or ffmpeg for H.264/VP8 if needed) ### ποΈ Compile with CMake ```bash mkdir build && cd build cmake .. make -j$(nproc) π§ͺ Usage Run the media engine with: It will: Capture video/audio Encode and fragment Send over UDP Receive incoming media Decode and play π Integration with NovaSafer (Java Signaling Layer) NovaEngine is designed to work in sync with the Java-based NovaSafer signaling infrastructure. The Java layer handles: NAT traversal Peer matching IP:Port discovery Session key exchange (if encryption is enabled) NovaEngine assumes the peer's public IP and port are already known and directly streams media. π Roadmap MJPEG / PCM UDP streaming Opus codec integration Adaptive bitrate & error concealment Forward Error Correction (FEC) DTLS-SRTP encryption Hardware acceleration support (NVENC / VAAPI) π§ Authors NovaSafer Engineering Team Project System Engineer: Abdurrahman KaradaΔ Project Tech Depart:Resul SarΔ±kaya
About
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published