TheTelephone-Video complements TheTelephone to achieve the implementation of software-based video telephony simulator for laboratory experiments. Similar to TheTelephone, the concept is that the capturing, processing, and presentation of the video stream is conducted by one computer alone. This approach reduces the complexity of the setup as it avoids setting up and verifying a computer network infrastructure (e.g., end-to-end delay).
TheTelephone-Video opens a locally connected webcam (e.g., via Video2Linux) and for each frame applies the configured processing (e.g., adding coding degradations, simulating packet loss or delay), and present the result directly on the screen. Frame-wise processing is done here by passing a frame through a chain of filters while each filter can modify the frame's content. While running TheTelephone-Video can switch from one filter chain to another.
NOTE: This software is only a rough prototypical implementation. It may or may not work as desired.
It uses:
sudo apt install build-essential git cmake libavdevice-dev libavcodec-dev libavformat-dev libavfilter-dev libavswscale-dev
git clone https://github.com/TheTelephone/TheTelephone-Video
cd TheTelephone-Video && cmake . && cmake --build .
This project is licensed as GPLv3 or later.