aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 48241f241c008fec7cdbbad7cd1b98faa633421c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
### 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. PulseAudio Simple API for playing and recording audio (will be changed to ALSA soon)
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. Crappy audio, most likely because of pulse audio
3. Works only on GNU/Linux, I don't plan porting it to Windows

### Todo

1. Use ALSA and not PulseAudio Simple API
2. MUST run at 30 fps

### 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.