aboutsummaryrefslogtreecommitdiff

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:

  1. V4L2 - video for linux api for getting images from the camera
  2. ALSA for recording and playing audio
  3. GLFW with OpenGL for displaying the recieved image

No other external libraries or APIs are used.

Limitations

  1. 160x120 video resolution because of the limited size of sockets
  2. Kinda crappy audio
  3. Works only on GNU/Linux, I don't plan porting it to Windows

Todo

  1. Higher resolution by splitting it into multiple datagrams
  2. Encryption
  3. 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.