Video call
This is a simple application that uses various GNU/Linux APIs to send video and audio through UDP datagrams.
Libraries and APIs
This project is written only in C, using the following technologies:
- V4L2 - video for linux api for getting images from the camera
- ALSA for recording and playing audio
- GLFW with OpenGL for displaying the recieved image
No other external libraries or APIs are used.
Limitations
- 160x120 video resolution because of the limited size of sockets
- Kinda crappy audio
- Works only on GNU/Linux, I don't plan porting it to Windows
Todo
- Higher resolution by splitting it into multiple datagrams
- Encryption
- More user-friendly
Build
To build use ./build
, to clean binaries use ./build clean
.
When build it creates two binaries, listener
and talker
.
Run
The listener
listens for connections and displays the video and plays the
audio.
The talker
records audio and camera and sends the data in the form of UDP datagrams.