Realtime Peer-to-Peer Video Streaming is a project that leverages WebRTC and Go to achieve millisecond latency for video streaming between peers.
- RLE is a simple lossless compression technique that encodes consecutive identical data values as a single value followed by a count.
- LZW is a dictionary-based lossless compression method that encodes repetitive data patterns efficiently.
- Delta encoding focuses on encoding the differences between consecutive video frames to reduce redundancy.
- A
VideoCodec
class acts as a wrapper that combines the three compression approaches into a unified interface for video compression and decompression.
- Go 1.16 or higher
- Node.js and npm (for frontend development)
- Modern web browser that supports WebRTC (Chrome, Firefox, Safari, etc.)
- A server with a public IP address (for signaling and relay)